#5958: 使用C 一直RE...


mofom123 (Hong0308)

學校 : 實踐大學
編號 : 13226
來源 : [1.161.92.215]
最後登入時間 :
2022-02-24 21:30:43
d462. 幸运的朋友(求幂系列题6) -- scientific | From: [118.167.22.63] | 發表日期 : 2011-10-23 15:04

#include <stdio.h>
#include <stdlib.h>

int main(){
    
    int a,n,i,k,t,c;
    int ans[100000];
    for(;;){
        if(scanf("%d %d %d %d",&a,&n,&i,&k)==EOF) break;
        for(t=0;t<sizeof(ans)/4;++t) ans[t]=0; /*歸零*/ 
        for(ans[0]=1,t=0;n;--n){
            for(c=0;c<=t;++c) ans[c]*=a; /*長整數乘法*/ 
            
            for(c=0;c<=t;++c){/*逢10進位*/ 
                if(ans[c]>=10){
                   
                    ans[c+1]+=ans[c]/10;
                    ans[c]%=10;
                    if(c+1>t) t++;/*紀錄現在最高位*/                                    
                }
                
            }
            
                       
        }
        
        for(;k;--k,--t) printf("%d",ans[t+1-i]);
        
    }
return 0;
}
 
自己電腦跑 很快
 
也有跑過某位大大 給的資測 99 5678 32 9876 
不超過1秒
 
請問到底是哪裡寫不好 或者哪裡需要再優化???

 
ZeroJudge Forum