Modular Exponentiation by inaniwa

g[99]={1};p[999]={2};v[999]={1};j;r;m(int*q){int t[1000]={0},i=0;for(;i<1e3;++i)for(r=j=0;j<1e3-i;r/=10)r+=t[i+j]+q[j]*p[i],t[i+j++]=r%10;memcpy(q,t,4e3);}main(i){for(;i++<334;r-1||m(v),m(p))for(r=j=0;j<101;r%=2)r=r*10+g[j],g[j++]=r/2;for(i=1e3;i--;)putchar(v[i]+48);}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page