比赛 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(){;}