K尾相等數問題

2022-03-22 18:41:03 字數 893 閱讀 1020

k尾相等數問題

描述乙個自然數k(

2≤k),若存在自然數m和

n(m大於

n),使得

k^m和

k^n均大於或等於

1000

,且它們的末尾三位數相等,則稱m和

n是一對

「k尾相等數」。

輸入輸入包含若干個測試用例,每個測試用例佔一行,為乙個自然數k。

輸出對每個測試用例,用一行輸出符合要求的最小m+n值。

樣例輸入

樣例輸出

一些測試用例可供參考:

2   120

3   114

4    60

5    12

6    33

7    28

8    108

9    58

10  7

思路來之與這位大神:

思路其實就是幾個原理,乙個是標記,乙個是可能的情況。

標識指的就是重複計數原理。

可能的情況指的是就是抽屜原理。

意思就是,我們可以把滿足要求的每一種情況都標記起來,而情況的多少就是抽屜原理,他要找的是後三位的比較,那樣的話我們可以把所有的情況全存起來。用乙個一維陣列就可以了。

滿足情況的事件總共是,1000種,0~999。我們用乙個一維陣列存起來。(初始化尤為重要!)

**如下:

#include#include#includeusing namespace std;

int a[1000];

int ans(int k)

int p = 1;

for(int i=1;i<=1000;i++)

else}}

}int main()

return 0;

}

K尾相等數問題

描述乙個自然數k 2 k 若存在自然數m和n m大於n 使得k m和k n均大於或等於1000,且它們的末尾三位數相等,則稱m和n是一對 k尾相等數 輸入 輸入包含若干個測試用例,每個測試用例佔一行,為乙個自然數k。輸出 對每個測試用例,用一行輸出符合要求的最小m n值。樣例輸入2 樣例輸出 120...

K尾相等數

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尾相等...

K尾相等數 NYOJ212

題目描述 從鍵盤輸入乙個自然數k k 1 若存在自然數m和n m n 使得k m和k n均大於或等於1000,且他們末尾三位數相等,則稱m和n是一對 k尾相等數 編寫一程式,輸出m n值最小的k尾相等數。測試輸入資料 2 測試輸出資料 120 思路 最開始想錯了,蛋疼了很久。仔細思考後,我們可以注意...