简单的语言控制,考察代码的熟悉程度。
代码比较丑陋,但是能ac......
/*
ID:sevenst4
LANG:C++
PROG:fracdec
*/
#include<stdio.h>
using namespace std;
struct node
{
int num;
int left;
}p[100000];
bool flag[100001];
int main()
{
freopen( "fracdec.in","r",stdin );
freopen( "fracdec.out","w",stdout );
int a,b;
for( int i=0;i<100000;i++ )flag[i]=false;
scanf( "%d %d",&a,&b );
if( a%b==0 )
{
printf( "%d.0\n",a/b );
return 0;
}
int head=0;
if( a/b>=0 ) head++;
if( a/b>=10 ) head++;
if( a/b>=100 ) head++;
if( a/b>=1000 ) head++;
if( a/b>=10000 ) head++;
if( a/b>=100000 ) head++;
head++;
printf( "%d.",a/b );
a=a%b;
flag[a]=true;
int len=0;
int index;
bool loop=true;
while( true )
{
a*=10; p[len].num=a/b;
a=a%b; p[len].left=a;
if( a==0 ) loop=false;
len++;
if( flag[a]==true )
{
index=a*10%b;
break;
}
flag[a]=true;
}
for( int i=0;i<len;i++ )
{
if( (i+head)%76==75 )
printf( "\n" );
if( p[i].left!=index )
printf( "%d",p[i].num );
else
{
if( loop )
{
printf( "(" );
for( ;i<len;i++ )
{
if( (i+head)%76==75 )
printf( "\n" );
printf( "%d",p[i].num );
}
printf( ")" );
}
else
{
printf( "%d",p[i].num );
break;
}
}
}
printf( "\n" );
return 0;
}