usaco Fractions to Decimals

来源:互联网 发布:淘宝好评怎么删除评论 编辑:程序博客网 时间:2024/05/28 05:17

这是一道模拟题。

/*ID: guo geerPROG: fracdecLANG: C++*/#include<iostream>#include<cstdio>#include<cstring>#include<string>using namespace std;int note[300000];int f(int n){    int k=0;    if(n==0) return 1;    while(n)    {            n/=10;            k++;    }    return k;}int main(){    freopen("fracdec.in","r",stdin);    freopen("fracdec.out","w",stdout);    int m,n;    while(scanf("%d%d",&m,&n)==2)    {          if(m%n==0)          {                    printf("%d.0\n",m/n);                    continue;          }                           memset(note,0,sizeof(note));               int t=m%n;                  for(int i=0;;i++)          {                  note[t]=1;                  t=(t*10)%n;                  if(note[t]==1)break;          }          int Count=f(m/n);          printf("%d.",m/n);          m=m%n;          Count ++;          int times = 0;          for(int i=0;;i++)          {                                 if(m==t)                  {                          if(t==0) break;                          if(times == 0)                          {                               printf("(");                               Count++;                               if(Count%76==0) printf("\n");                           }                          if(times == 1)                          {                               printf(")");                               Count++;                               break;                             }                          times ++;                                           }                  printf("%d",(m*10)/n);                  m=(m*10)%n;                  Count++;                  if(Count%76==0) printf("\n");                            }          printf("\n");                   }    return 0;}


原创粉丝点击