三、ac**
如果某個數 k 的平方乘以 n 以後,結果的末尾幾位數等於 k,那麼就稱這個數為「n-自守數」。例如 3×922=25392
3 \times 92^=25392
3×922=
2539
2,而 25392
25392
2539
2 的末尾兩位正好是92
9292
. 所以 92
9292
是乙個3-自守數
輸入格式:輸入在第一行中給出正整數 m(≤20),隨後一行給出 m 個待檢測的、不超過 1000 的正整數。
輸出格式:對每個需要檢測的數字,如果它是 n-自守數就在一行中輸出最小的n例如:nn 和 nk2
nk^nk
2 的值,以乙個空格隔開;否則輸出 no。注意題目保證 n<10.
輸入樣例:
392 5 233
輸出樣例:
3 25392
1 25
no
92有2位,則用 25392%100就可得到最後兩位。
獲取最後n位就除以10n
10^10
n所以我們要先獲取輸入的數字是幾位數
//...
int temp=n;
int count=0;
//獲取該數的位數
while
(temp>0)
//獲取n的位數
輸入有n位,則除數為
for
(int i=
0;i)
注意:
題目保證 n<10,所以我們只需迴圈到10即可,否則樣例 233會出錯.
(233也是自守數,但是返回值不在範圍內)
輸出的是「no」,不要寫成"no";
返回自守係數j.
for
(int j=
1;j<
10;j++
)}
#include
#include
using
namespace std;
intzishou
(int n)
;int
main()
}int
zishou
(int n)
for(
int i=
0;i)for
(int j=
1;j<
10;j++)}
return-1
;//如果該數不是自守數,或者是自守數但是返回的數字不在<10的範圍內,就返回乙個-1;
PAT乙級 1091 N 自守數
問題描述 如果某個數 k 的平方乘以 n 以後,結果的末尾幾位數等於 k,那麼就稱這個數為 n 自守數 例如 3 9 22 25392 3 92 2 25392 3 922 2539 2,而 25392 的末尾兩位正好是 92,所以 92 是乙個 3 自守數。本題就請你編寫程式判斷乙個給定的數字是否...
PAT乙級 1091 N 自守數 (15 分)
如果某個數 k 的平方乘以 n 以後,結果的末尾幾位數等於 k,那麼就稱這個數為 n 自守數 例如 3 922 25392,而 25392 的末尾兩位正好是 92,所以 92 是乙個 3 自守數。本題就請你編寫程式判斷乙個給定的數字是否關於某個 n 是 n 自守數。輸入在第一行中給出正整數 m 20...
PAT 乙級 1091 N 自守數 (15 分)
如果某個數 k 的平方乘以 n 以後,結果的末尾幾位數等於 k,那麼就稱這個數為 n 自守數 例如 3 92 2 25392,而 25392 的末尾兩位正好是 92,所以 92 是乙個 3 自守數。本題就請你編寫程式判斷乙個給定的數字是否關於某個 n 是 n 自守數。輸入在第一行中給出正整數 m 2...