problem 105: k尾相等數
time limit:3 ms| memory limit:64 mb
difficulty:1
description
輸入乙個自然數k(k>1),如果存在自然數m和n(m>n),使得k^m和k^n均大於等於1000,且他們的末尾三位數相等,則稱m和n是一對「k尾相等數」。下面請程式設計求出m+n最小的k尾相等數。
input
第一行包含乙個正整數t,t<10000,表示有t組資料;
隨後有n行,每行包括乙個整數k(k<2*10^10);
output
對於輸入的每個整數k,輸出對應的m+n的最小值;
sample input12
sample output
120思路:開乙個1000的陣列,在k大於1000的情況下,每乘一次k,就把它後三位標記到陣列裡面,用當前次方數來標記。當找到乙個後三位已經找過的,當前次方數加上已經找過的次方數,就是最小的m + n。若k不大於1000,記錄幾次乘k之後可以達到三位以上,然後用它當計數器。
#include#includeint visit[1005];
int pow(int k);
int main()
return 0;
}int pow(int k)
c = 0;
r = 1;
while(1)
else
visit[r] = c;
} }}
K尾相等數問題
描述乙個自然數k 2 k 若存在自然數m和n m大於n 使得k m和k n均大於或等於1000,且它們的末尾三位數相等,則稱m和n是一對 k尾相等數 輸入 輸入包含若干個測試用例,每個測試用例佔一行,為乙個自然數k。輸出 對每個測試用例,用一行輸出符合要求的最小m n值。樣例輸入2 樣例輸出 120...
K尾相等數問題
k尾相等數問題 描述乙個自然數k 2 k 若存在自然數m和 n m大於 n 使得 k m和 k n均大於或等於 1000 且它們的末尾三位數相等,則稱m和 n是一對 k尾相等數 輸入輸入包含若干個測試用例,每個測試用例佔一行,為乙個自然數k。輸出對每個測試用例,用一行輸出符合要求的最小m n值。樣例...
K尾相等數 NYOJ212
題目描述 從鍵盤輸入乙個自然數k k 1 若存在自然數m和n m n 使得k m和k n均大於或等於1000,且他們末尾三位數相等,則稱m和n是一對 k尾相等數 編寫一程式,輸出m n值最小的k尾相等數。測試輸入資料 2 測試輸出資料 120 思路 最開始想錯了,蛋疼了很久。仔細思考後,我們可以注意...