Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
C和GCC有什么不同之处?大牛请告知,不胜感激!我的代码为何在C编译通过,在GCC就WA呢?十分不解,哪位好心人能解答一下? 代码如下: #include<stdio.h> #include<string.h> #include<math.h> int main() { int i,j,m; __int64 ff,temp,num,di,p,res,t; scanf("%d",&m); while(m--) { scanf("%I64d",&num); p=10; res=0; i=1; while(10*num/p) { di=num%p; for(j=0;j<=9;j++) { temp=j*(__int64)pow((double)10,(double)i-1)+res; if(i<10) { t=temp; temp=(temp*t)%(__int64)pow((double)10,(double)i); temp=(temp*t)%(__int64)pow((double)10,(double)i); } else { t=temp; temp=t*(10*(t/(p/10))+t/(p/100)%10)%(__int64)pow((double)10,(double)i); temp=(temp*10000)%(__int64)pow((double)10,(double)i); temp=(temp*10000)%(__int64)pow((double)10,(double)i); temp+=t*(t%(p/100)); temp%=(__int64)pow((double)10,(double)i); ff=temp*(10*(t/(p/10))+t/(p/100)%10)%(__int64)pow((double)10,(double)i); ff=(ff*10000)%(__int64)pow((double)10,(double)i); ff=(ff*10000)%(__int64)pow((double)10,(double)i); ff+=temp*(t%(p/100)); ff%=(__int64)pow((double)10,(double)i); temp=ff; } if(temp==di) break; } if(!res) res=j; else res+=j*(__int64)pow((double)10,(double)i-1); i++; p*=10; } printf("%I64d\n",res); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator