レス番のレス番乗をのたまうスレ
■ このスレッドは過去ログ倉庫に格納されています
0072132人目の素数さん
2005/12/19(月) 12:26:1653449019547361999534025300140057538544940601393106611570269540644280818850419033099696863861289188541180498511377339362341642322313216
こんな感じで↓Cで計算してる。
#include <stdio.h>
unsigned long nat1[128]={0}; unsigned long nat2[128]={0}; unsigned long nat3[128]={0}; unsigned long c, r, d=0, p; int t, a, b, u, s, i=0, j=0;
int multiply(){ for(t=0; t<128; t++){ for(a=0; a<=t; a++){b=t-a; c=c+nat1[a]*nat2[b];} r=(c+d)%10000; nat3[t]=r; d=(c+d-r)/10000; c=0;} }
int times(unsigned long n){ for(u=0; u<128; u++){ nat1[u]=nat3[u]; } for(u=0; u<128; u++){ nat2[u]=0; nat3[u]=0; } nat2[0]=n; multiply(); }
int square(){ for(u=0; u<128; u++){ nat1[u]=nat3[u]; } for(u=0; u<128; u++){ nat2[u]=nat3[u]; } for(u=0; u<128; u++){ nat3[u]=0; } multiply(); }
main(){ nat1[0] = 72; nat2[0] = 72; multiply(); square(); square(); square(); square(); square();
times(72); times(72); times(72); times(72); times(72); times(72); times(72); times(72);
for(s=127; s>=0; s--){ p=nat3[s]; if(p>0){if(i==0){j=1;}}
if(i>0){if(p>999){printf("%d",p);}else{if(p>99){printf("0%d",p);}else{if(p>9){printf("00%d",p);}else{printf("000%d",p);}}}}
if(j>0){ printf("%d",p); i=1; j=0; } } }
■ このスレッドは過去ログ倉庫に格納されています