確定進製 C

2021-09-25 16:09:24 字數 927 閱讀 6324

6*9 = 42 對於十進位制來說是錯誤的,但是對於13進製來說是正確的。

即, 6(13) * 9(13) = 42(13), 而 42(13) = 4 * 13^1+ 2 * 13^0= 54(10)。

你的任務是寫一段程式讀入三個整數p、q和 r,然後確定乙個進製 b(2<=b<=16)

使得 p * q = r. 如果 b有很多選擇, 輸出最小的乙個。

例如: p = 11, q = 11, r = 121. 則有 11(3) * 11(3) = 121(3)

因為 11(3) = 1 * 3^1+ 1 * 3^0= 4(10) 和 121(3) = 1 * 3^2+ 2 * 3^1+ 1 * 3^0= 16(10)。

對於進製 10,有 11(10) * 11(10) = 121(10)。

這種情況下,應該輸出 3。如果沒有合適的進製,則輸出 0。

輸入一行,包含三個整數p、q、r,相鄰兩個整數之間用單個空格隔開。 p、q、r的所有位都是數字,並且1 <= p、q、r <= 1,000,000。

輸出乙個整數:即使得p * q = r成立的最小的b。如果沒有合適的b,則輸出 0。

樣例輸入

6 9 42

樣例輸出

**:

//注意:題設條件「p、q、r的所有位都是數字」即不存在 abcde。。。等

#include#include#include#includeusing namespace std;

int zshi(int x,int y)

return sum;

}int main()

} if (!cun)

cout << "0" << endl;

}}

1973 確定進製

描述 6 9 42 對於十進位制來說是錯誤的,但是對於13進製來說是正確的。即,6 13 9 13 42 13 而 42 13 4 131 2 130 54 10 你的任務是寫一段程式讀入三個整數p q和 r,然後確定乙個進製 b 2 b 16 使得 p q r.如果 b有很多選擇,輸出最小的乙個。...

201 3 20確定進製

題目描述 6 9 42 對於十進位制來說是錯誤的,但是對於 13 進製來說是正確的。即,6 13 9 13 42 13 而 42 13 4 13 2 54 10 你的任務是寫一段程式讀入三個整數 p,q 和 r,然後確定乙個進製 b 2 b 16 使得 p q r。如果 b 有很多選擇,輸出最小的乙...

確定進製(經典水題)

問題描述 6 9 42 對十進位制來說是錯誤的 但是對13進製來說卻是正確的 即6 13 9 13 42 13 42 13 4 13 2 1 54 你的任務是編寫一段程式 讀入3個整數,p,q和r 然後確定乙個進製b 2 b 16 使得p q r。如過b有很多選擇 則輸出最小的那個進製 如果沒有合適...