K尾相等數

來源:互聯網
上載者:User

輸入一個自然數K(K>1),若存在自然數M和N(M>N),使得K^M和K^N均大於或等於1000,且它們的末尾三位元相等,則稱M和N是一對“K尾相等數”。現在請編程求出M+N值最小的K尾相等數。
---問題分析
對於一個數,它的冪是無窮無盡的,但是我們可以注意到末尾三位元只有1000個,也就是表明一定會有重複的末尾三位元,當一個數的末尾三位元一定時,它的下一次冪的末尾三位元也一定了
。也就是表明當第一次重複出現大於等於1000的末尾三位元時,這就是我們要求出的M和N了。

程式:

#include<iostream>using namespace std;int main(){int T,i,sum,k,ky,f;cin>>T;while(T--){f=0;int a[1001]={0};cin>>k;ky=1;if(k>999){f=1;k%=1000;}for(i=1;i<1002;i++){ky*=k;if(f==1||ky>999){f=1;ky%=1000;if(a[ky]!=0){sum=a[ky]+i;break;}elsea[ky]=i;}}cout<<sum<<endl;}return 0;}

參考資料:
2 120
25 7
125 6
1000 3
1234 56
111111 52
1000003 102
123454321 27

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.