> 文档中心 > C++ 化功大法

C++ 化功大法

题目描述将一个纯小数转化为最简分数的方法,被小雷称为“化功大法”。试编写一个“化功大法”程序。输入一个纯小数,输出它的最简分数。输入格式输入一个纯小数输出格式输出两行,第一行是最简分数的分子,第二行是最简分数的分母。输入样例0.125输出样例18
约束1s256MB小数范围是(0,1)之间,小数位数最多9位。

code

#includeusing namespace std;int main(){double a;long long b,c,d=1e9;cin>>a;b=a*1e9;c=__gcd(b,d);//printf("1 %lf %lld %lld %lld\n",a,b,c,d);b/=c;d/=c;cout<<b<<endl<<d;getchar();return 0;}
#includeusing namespace std;int main(){double a;long long c,d;cin>>a;c=a*1000000000;d=1000000000;for(int j=1;j<1000;j++){for(int i=1;i<10000;i++){if(c%i==0&&d%i==0){c=c/i;d=d/i;}}}cout<<c<<endl<<d;}

天天赞天天看!

电玩男