整數表示法

2021-06-27 00:27:33 字數 1044 閱讀 5821

整數表示法

題目詳情:

我們知道,如果x,y互素時ax+by可以表示任意整數(其中a,b為整數)。如果設定條件x,y>0,並且ax+by>=0時,求能表示的整數集中連續的整數最小的是多少?

例如輸入x=3,y=4.整數集為0,3,4,6,7,8,9……則輸出6;

輸入1行x和y,輸出一行表示最小整數;

其中x,y為32位整數且互素

答題說明:

測試用例

5 620

1 20

2 3

/*

整數表示法

題目詳情:

我們知道,如果x,y互素時ax+by可以表示任意整數(其中a,b為整數)。如果設定條件x,y>0,並且ax+by>=0時,求能表示的整數集中連續的整數最小的是多少?

例如輸入x=3,y=4.整數集為0,3,4,6,7,8,9……則輸出6;

輸入1行x和y,輸出一行表示最小整數;

其中x,y為32位整數且互素

答題說明:

測試用例

5 620

1 20

2 3給定x, y(互素),求不能表示成ax+by且最大的整數n(其中a,b>=0),輸出n+1。

假設任意正整數n = ax+ by。

當0<= a <= y-1時, n的表示式唯一,即a, b的值唯一。

這時如果a增加y那麼b就減少x,如果a減少y那麼b就增加x,

如果此時b<0,那麼n就不能被表示,因為b<0, 要使b>=0,那麼b就至少要增加x,

對應的a至少要減少y,這樣a就小於0了,即a>=0 和 b>=0不可兼得。

不能表示成ax+by且最大的整數n(其中a,b>=0)的數就是在區間0<=a<=y-1中,

a取最大b也取最大. 即a = y-1, b=-1,

此時n = (y-1)x + (-1)y = xy - x - y, 輸出n + 1 = (x - 1) * (y -1).

*/#include#includeusing namespace std;

int main()

}

羅馬數表示整數

羅馬數字共有七個,即 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 按照下面三條規則可以表示任意正整數。重複數次 乙個羅馬數字重複幾次,就表示這個數的幾倍。右加左減 在乙個較大的羅馬數字的右邊記上乙個較小的羅馬數字,表示大數字加小數字。在乙個較大的數字的左邊記上乙個較小的...

整數表示問題。

我們知道,如果x,y互素時ax by可以表示任意整數 其中a,b為整數 如果設定條件x,y 0,並且ax by 0時,求能表示的整數集中連續的整數最小的是多少?例如輸入x 3,y 4.整數集為0,3,4,6,7,8,9 則輸出6 輸入1行x和y,輸出一行表示最小整數 其中x,y為32位整數且互素。現...

(三)整數表示

本節主要闡述整數在計算機中的表示方式 無符號數和有符號數。介紹其範圍 編碼方式,以及有無符號相互轉換 數值擴充套件的原則。c語言中支援有符號整數和無符號整數。1.無符號整數表示範圍即w位位向量能夠表示的最大範圍,例如unsigned char是乙個位元組表示,所以無符號數的表示範圍為0 255。2....