/*
ID: 551100k1
LANG: C++
TASK: fracdec
*/
#include<stdio.h>
#include<map>
#include<vector>
#include<iostream>
using namespace std;
map<int,int> ma;
vector<int> vec;
string ans;
char s[100];
int main(){
freopen("fracdec.in","r",stdin);
freopen("fracdec.out","w",stdout);
int n,m,i,j,r,flag=1;
scanf("%d%d",&n,&m);
vec.push_back(n);
ma[n]=1;
sprintf(s,"%d.",n/m);
ans+=string(s);
n%=m,i=1;
ma[n]=1;
while(1){
i++;
n*=10;
r=n/m;
n%=m;
vec.push_back(r);
if(n==0) break;
if(ma[n]){
flag=0;
for(j=1;j<ma[n];j++)
sprintf(s,"%1d",vec[j]),ans+=string(s);
ans+='(';
for(j=ma[n];j<vec.size();j++)
sprintf(s,"%1d",vec[j]),ans+=string(s);
ans+=")\n";
break;
}
ma[n]=i;
if(!n) break;
}
if(flag){
for(j=1;j<vec.size();j++)
sprintf(s,"%1d",vec[j]),ans+=string(s);
ans+='\n';
}
for(i=0;i<ans.length();i++){
if(i && i%76==0) puts("");
putchar(ans[i]);
}
}
沒有留言:
張貼留言