USACO:Fractions to Decimals
来源:互联网 发布:优化win10字体 编辑:程序博客网 时间:2024/04/29 04:45
/*ID: Jang LawrencePROG: fracdecLANG: C++*/#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<algorithm>#include<queue>#include<cmath>#define X first#define Y second#define sqr(a) ((a)*(a))using namespace std;typedef long long lng;int x,y;string an;void f(int ini){ if(ini>=10) f(ini/10); an+='0'+ini%10;}int is[111111];vector<int > ans;int main(){ #ifndef DEBUG freopen("fracdec.in","r",stdin); freopen("fracdec.out","w",stdout); #endifscanf("%d%d",&x,&y);f(x/y);x=x%y;bool f=1;while(!is[x]){ is[x]=ans.size()+1; ans.push_back((x*10)/y); x=(x*10)%y; if(x==0){is[x]=ans.size();f=0;break;}}an+='.';for(int i=0;i<is[x]-1;++i)an+=ans[i]+'0';if(f)an+='(';for(int i=is[x]-1;i<ans.size();++i)an+=ans[i]+'0';if(f)an+=')';for(int i=0,j=0;i<an.size();++i){ if(j==76) { puts(""); putchar(an[i]); j=1; continue; } else { putchar(an[i]); j++; }}if(an.size()%76==0) ;else puts(""); return 0;}