题意:给定一个小数T(0=<T<=1)的非循环部分和循环部分,将这个小数转化成最简分数形式
代码如下:
#include<iostream>
#include<stdio.h>
using namespace std;
int gcd(int a,int b){
return b==0?a:gcd(b,a%b);
}
int count(int x)
{
int weishu = 0;
int ans = 1;
while(x)
{
x/=10;
weishu++;
}
while(weishu--)
{
ans*=10;
}
return ans;
}
int main()
{
int M,N;
while(scanf("%d%d",&M,&N)!=EOF)
{
int ans1 = 0,ans2 = 0;
int shi1 = 1,shi2 = 1;
int temp = 0;
ans1 = M;
ans2 = M*count(N)+N;
shi1 = count(M);
shi2 = count(M*count(N));
temp = gcd((ans2-ans1),(shi2-shi1));
printf("%d %d\n",(ans2-ans1)/temp,(shi2-shi1)/temp);
}
return 0;
}