比赛 |
2009noip模拟试卷 |
评测结果 |
AAAAAAAAA |
题目名称 |
分数化小数 |
最终得分 |
100 |
用户昵称 |
AntiLeaf |
运行时间 |
0.001 s |
代码语言 |
C++ |
内存使用 |
0.12 MiB |
提交时间 |
2016-10-09 14:02:58 |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100100;
int n,d,a[maxn],last[maxn];
inline int MAIN(){
#define MINE
#ifdef MINE
freopen("fracdec.in","r",stdin);
freopen("fracdec.out","w",stdout);
#endif
scanf("%d%d",&n,&d);
printf("%d.",n/d);
n%=d;
if(!n){
printf("0");
return 0;
}
for(;;){
n*=10;
a[++a[0]]=n/d;
n%=d;
if(!n||last[n])break;
last[n]=a[0];
}
if(!n){
for(int i=1;i<=a[0];i++)printf("%d",a[i]);
return 0;
}
if(a[1]==a[a[0]]){
printf("(");
for(int i=1;i<a[0];i++)printf("%d",a[i]);
printf(")");
}
else{
for(int i=1;i<=last[n];i++)printf("%d",a[i]);
printf("(");
for(int i=last[n]+1;i<=a[0];i++)printf("%d",a[i]);
printf(")");
}
return 0;
}
int haha=MAIN();
int main(){;}