/* 刷水题神马的,我最爱啦. 可是我都大二了,刷水题还有意思莫!!! 赶紧做正事去!!! */
1 Source Code
2
3 Problem: 2183 User: eth1
4 Memory: 4168K Time: 0MS
5 Language: C++ Result: Accepted
6 Source Code
7 #include <iostream>
8 #include <cstring>
9 using namespace std;
10 int f[10000],vis[1000000];
11 int main()
12 {
13 int n;
14 cin>>n;
15 int i=1;
16 memset(vis,0,sizeof(vis));
17 while(1)
18 {
19 n/=10;
20 n=n-n/10000*10000;
21 n=n*n;
22 int tem=0;
23 int k=1;
24 for(int i=0;i<6;i++)
25 {
26 tem+=n%10*k;
27 n/=10;
28 k*=10;
29 }
30 n=tem;
31 if(!vis[tem])
32 {
33 vis[tem]=1;
34 f[i++]=tem;
35 }
36 else
37 {
38 int j;
39 for(j=1;j<i;j++)
40 {
41 if(f[j]==tem) break;
42 }
43 cout<<tem<<' '<<i-j<<' '<<i<<endl;
44 break;
45 }
46 }
47 return 0;
48 }
 posted on 2011-05-10 18:58  eth0  阅读(318)  评论(0编辑  收藏  举报