Sie sind auf Seite 1von 2

#include <iostream>

#include<math.h>
using namespace std;

int main() {
int t,n,d;

cin>>t;

bool b[2001];

for(int i=0;i<2001;i++)
b[i]=true;

b[0]=false;
b[1]=false;
for(int i=2;i*i<=2001;i++)
{ if(b[i])
{
for(int j=2*i;j<2001;j+=i)
b[j]=false;
}
}

while(t--)
{
cin>>n>>d;

int ans=n/d,p=1,r;
float e;
n=n%d;
cout<<n;
cout<<ans;
if(n==0){

cout<<endl;
continue;

}
int d1=d,n1=n;

while(d1!=0 && n1!=0)


{
for(int i=3;i<d;i++)
{
if(i==5)
continue;
one:;
if(b[i]){
if(d1%i==0 )
{
if(d1==0)
goto two;
d1=d1/i;
if(n1%i==0 && n1!=0)
{
n1=n1/i;
goto one;
}
else
{
goto two;
}

}
}
}
}

e=(float)n/(float)d;
e=e+ans;
cout<<e<<endl;
goto end;

two:;
// int p=1,r;

while((n*(int)(pow(10,p)-1))%(d)!=0)
{
p++;
}
r=(n*(pow(10,p)-1))/(d);
cout<<ans<<".(";
cout<<r<<")"<<endl;
end:;
}
}

Das könnte Ihnen auch gefallen