6×9=42,對於十進位制來說是錯誤的,但是對於十三進製來說就是正確的,即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有很多選擇,則輸出最小的乙個。例如:p=11,q=11,r=121,則有11(3) ×11(3)=121(3),11(3)=1×31+1×30=4(10)和121(3)=1×32+2×31+1×30=16(10)。對於十進位制,有11(10) ×11(10)=121(10)。這種情況下,應該輸出3。如果沒有合適的進製,則輸出0。
輸入:從鍵盤輸入三個整數p,q,r,輸入0 0 0時結束。
輸出:能滿足上述表示式的進製。
輸入樣例:
6 9 42
11 11 121
0 0 0
輸出樣例:133
#include
#include
#define n 200
intswitch
(int m,
int r)
;int
bit(
int p,
int q,
int r,
int b)
;//判斷各個位的數是否在進製範圍內
intmain()
else num=0;
//若等式不成立則輸出0 }}
a[i++
]=num;
}for
(j=0
;j)printf
("%d\n"
,a[j]);
return0;
}int
switch
(int m,
int r)
return sum;
}int
bit(
int p,
int q,
int r,
int b)
while
(q)while
(r)return1;
}
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 有很多選擇,輸出最小的乙...
確定進製 C
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有很多選擇,輸出最小的乙個。例...