poj之旅——1930

来源:互联网 发布:mac黑屏如何强制重启 编辑:程序博客网 时间:2024/06/07 06:08

题目描述:简单的小学奥数题。


枚举循环点。

参考程序:

#include<cstdio>#include<algorithm>#include<cmath>#include<string>#include<iostream>#define INF 0x7f7f7f7fusing namespace std;typedef int ULL;ULL gcd(ULL a,ULL b){if (!a)return b;return gcd(b%a,a);}int main(){string line;while (cin>>line){if (line=="0")break;ULL mina=INF;ULL minb=INF;ULL num,k,all=0,a,b,l=0;for (int i=2;line[i] != '.';i++){all*=10;all+=line[i]-48;l++;}num=all;k=1;for (ULL i=1;i<=l;i++){num/=10;k*=10;a=all-num;b=(ULL)pow(10.0,l-i)*(k-1);ULL j=gcd(a,b);if (b/j<minb){mina=a/j;minb=b/j;}}cout<<mina<<'/'<<minb<<endl;}return 0;}


0 0
原创粉丝点击