確定什麼進製下乘法式成立(C語言)

2021-10-03 20:43:46 字數 1079 閱讀 1062

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有很多選擇,輸出最小的乙個。例...