簡介
自守數有一個特性,以他為後幾位的兩個數相乘,乘積的後幾位仍是這個自守數。因為5時自守數,所以以5為個位數的兩個數相乘,乘積的個位仍然是5;76是自守數,所以以76為後兩位數的兩個數相乘,其結果的後兩位仍是76,如176x576=101376。雖然0和1的平方的個位數仍然是0和1,但是他們太“平凡”了,研究他們沒有意義,所以不算自守數。
三位自守數是625和376,四位自守數是0625和9376,五位自守數是90625和09376......
我們可以看到,(n+1)位的自守數出自n位的自守數。由此得出,如果知道n位的自守數a,那么(n+1)位的自守數應當由a前面加上一個數構成。
實際上,簡化一下,還能發現如下規律:
5+6=11
25+76=101
625+376=1001
......
所以,兩個n位自守數,他們的和等於10^n+1
pascal程式:
varn,i,j,k,m:real;
begin
write('0--nzhongdezishoushu:');
readln(n);
write('Zishoushu:',0:5,1:5);
i:=4;
repeat
i:=i+1;
k:=i;
m:=1;
whilek<>0dobegink:=int(k/10);m:=m*10;end;
j:=((i*i)/m-int((i*i)/m))*m;
ifi=jthenbeginwrite(i:10:0,m+1-i:10:0);end;
untili=n;
writeln;
writeln('Wanbi!');
readln;
end.
其中注釋:
0--nzhongdezishoushu:{尋找自守數的範圍(0-n)}
Zishoushu:{開始匯報找到的自守數}
Wanbi!{找完了}
原理:從5開始到n循環(0與1已經打完了),算出目前循環的這個數有m位.目前循環的這個數的平方數除以10^m(10的m次方,1為10,2為100,3為1000……)的餘數與循環的數相同就列印.此外,還藉助了一條定理:兩個n位自守數,他們的和等於10^n+1.
5+6=11
25+76=101
625+376=1001
......
所以,兩個n位自守數,他們的和等於10^n+1
備註:打出的自守數不是從小到大的!!
常見自守數
1、5、6、25、76、376、625、9376結論
所以,兩個n位自守數,他們的和等於10^n+1
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 | publicclassZishouNumber{ publicstaticvoidmain(String[]args){ for(inti=1;i<10000;i++){ StringstrI=String.valueOf(i); StringmultiStr=String.valueOf(i*i); Stringlast=multiStr.substring(multiStr.length()-strI.length()); if(last.equals(strI)){ System.out.println(i+"*"+i+"="+multiStr+"-->"+i+"isZishoushu"); } } } } |
--------------------------
1*1=1-->1isZishoushu
5*5=25-->5isZishoushu
6*6=36-->6isZishoushu
25*25=625-->25isZishoushu
76*76=5776-->76isZishoushu
376*376=141376-->376isZishoushu
625*625=390625-->625isZishoushu
9376*9376=87909376-->9376isZishoushu
C++
趣味數學
趣味數學以帶有強烈的遊戲色彩知名於世。歐拉就是通過對bridge-crossing之謎的分析打下了拓撲學的基礎。萊布尼茨也寫到過他在獨自玩插棍遊戲時分析問題的樂趣。希爾伯特證明了切割幾何圖形中的許多重要定理。馮·紐曼奠基了博弈論。最受大眾歡迎的計算機遊戲—生命是英國著名數學家康威發明的。愛因斯坦也收藏了整整一書架關於數學遊戲和數學謎的書。 |