这个题,不错~挺简单的就是模拟除法
至于循序小数,因为分母是一样的,所以要想出现一样的商,分子就会相同把分子标记一下就好了~~
值得思考一下,其实一直没有想到循环小数怎么处理,看了别人的解题报告
#include <iostream>
using namespace std;
const int size=100001;
int sev[size+5];
bool vis[size+5];
int main()
{
int t,s;
cin>>t;
while(t--)
{
int c(0),fz(1);
cin>>s;
if(s<0){
cout<<"-"; s=-s;
}
if(s==1){
cout<<"1"<<endl;
continue;
}
memset(vis,0,sizeof(vis));
memset(sev,0,sizeof(sev));
vis[1]=1;
cout<<"0.";
while(fz)
{
fz=fz*10;
sev[c++]=fz/s;
fz%=s;
if(vis[fz])break;
vis[fz]=1;
}
for(int i=0;i<c;i++)
cout<<sev[i];
cout<<endl;
}
return 0;
}