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 |
Why WA ?????Why????Help!!!谁帮我看看,,为什么就一直WA啊!!!给我的测试数据都过了的,,自己写的数据也过了!!怎么回事儿啊!!!谁能告诉我一下,,谢谢了。。zouqibo2009@163.com #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; #define MAX 1001 bool flag[MAX]; int a[MAX]; char s[10000]; void print(){ //int t=0; for(int i=0;s[i]!='\0';i++){ if(i%50==0&&(s[i+1]!='\0'))printf("\n"); printf("%c",s[i]); } printf("\n"); } int main(){ int x,y; while(scanf("%d%d",&x,&y)){ if(x==0&&y==0)break; if(x==0||x%y==0){ printf(".0\n"); printf("This expansion terminates.\n"); continue; } memset(s,'\0',sizeof(s)); memset(flag,0,sizeof(flag)); s[0]='.'; x%=y; int t=1; flag[x]=true; while(true){ if(x%y==0){ print(); //printf("%s\n",s); printf("This expansion terminates.\n"); break; } if(x<y){ x*=10; } while(x<y){ x*=10; s[t]='0'; t++; } if(flag[x%y]){ s[t]=x/y+'0'; print(); //printf("%s\n",s); printf("The last %d digits repeat forever.\n",t-a[x%y]); break; } //printf("****%d\n",x%y); s[t]=x/y+'0'; x%=y; flag[x]=true; //printf("##%d %c\n",x,s[t]); a[x]=t; t++; } } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator