題目描述:
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 有很多選擇,輸出最小的乙個。
例如:當 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)。對於進製 10,有 11(10) × 11(10) = 121(10)。這種情況下,應該輸出 3。如果沒有合適的進製,則輸出 0。
輸入描述:
輸入有 t 組測試樣例。t 在第一行給出。每一組測試樣例佔一行,包含三個整數 p, q, r。 p, q, r 的所有位都是數字,並且 1 <= p, q, r <= 1,000,000。
輸出描述:
對於每個測試樣例輸出一行。該行包含乙個整數,即使得 p × q = r 成立的最小的 b。如果沒有合適的 b,則輸出 0。
樣例輸入:
36 9 42
11 11 121
2 2 2
樣例輸出:
13
#includeusing namespace std;
long long convert(long long a,int n)
ans+=weight*digit;
weight*=n;
}return ans;
}int main()
q1=convert(q,i);
if(q1<0)
r1=convert(r,i);
if(r1<0)
if(p1*q1==r1)
} j++;cout
}
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有很多選擇,輸出最小的乙個。...
確定進製 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有很多選擇,輸出最小的乙個。例...
確定進製(經典水題)
問題描述 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有很多選擇 則輸出最小的那個進製 如果沒有合適...