一看 这道题,我首先想到的是高精度,结果发现不用高精度竟然也能解出这道题!!!
#includeusing namespace std; int main() { //freopen("number.in", "r", stdin); //freopen("number.out", "w", stdout); unsigned short a[1001]; int x,i,j,b,e; long long s; cin>>x; b=x; i=1; while(1) { a[1] = x%100; b*=x; e=b; e=e/100*100; b-=e; a[i+1]=b; cout << a[i]; for(j=1;j 首先,我先用a[1]来储存x%100,因为它只让算每次幂的后两位,所以,我也就只保留后两位,输出后,再来判断是否重复,重复就终止,否则继续。
然后,就AC了。



