1984: 一个简单的数学题
时间限制: 3 Sec 内存限制: 64 MB
题目描述
zyc最近迷上了数学,一天,dj想出了一道数学题来难住他。算出1/n,但zyc一时答不上来希望大家能编程帮助他。
输入
第一行整数T,表示测试组数。后面T行,每行一个整数 n (1<=|n|<=10^5).
输出
输出1/n. (是循环小数的,只输出第一个循环节).
#include <iostream>
#include <cstdio>
#include<string.h>
using namespace std;
int main()
{ int a[100010];
int n;
scanf("%d", &n);
while(n--)
{
memset(a,0,sizeof(a));
int number,mod;
scanf("%d",&number);
if(number==1||number==-1)
{
printf("%d",1/number);
continue;
}
if(number<0)
{
number=-number;
printf("-0.");
}
else printf("0.");
mod=1;
while(1)
{
a[mod]=1;
mod=mod*10;
printf("%d",mod/number);
mod=mod%number;
if(mod==0) break;if(a[mod]==1)
break;
}
printf("\n");
}
return 0;
}