uva 10555 - Dead Fraction)(数论)
来源:互联网 发布:怎么把微店搬到淘宝 编辑:程序博客网 时间:2024/05/29 04:40
题目链接:uva 10555 - Dead Fraction
题目大意:给出一个小数,从...开始可以是任何数字,但是保证是无限循环小数,将该小数用分式的形式表示,并且要求分母尽量大。
解题思路:这题主要是怎么将无限循环小数转换成分式,这样的:
- 有小数0.abcdEEE,未循环部分长4,循环节为E,E的长度为i(假设)
- abcd+E999…(i位9)10i
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int maxn = 105;const ll INF = 0x3f3f3f3f3f3f3f;char s[maxn];ll gcd (ll a, ll b) { return b ? gcd(b, a%b) : a;}int main () { while (scanf("%s", s) == 1 && strcmp(s, "0")) { int len = strlen(s)-5; ll ansu, ansd = INF; for (int i = 0; i < len; i++) s[i] = s[i+2]; for (int i = 0; i < len; i++) { ll d = 1, u = 0; for (int j = 0; j < i; j++) { d = d * 10; u = u * 10 + s[j] - '0'; } ll x = 0, y = 0; for (int j = i; j < len; j++) { x = x * 10 + s[j] - '0'; y = y * 10 + 9; } d = d * y; u = u * y + x; ll g = gcd(d, u); u /= g; d /= g; if (d < ansd) { ansd = d; ansu = u; } } printf("%lld/%lld\n", ansu, ansd); } return 0;}
1 0
- uva 10555 - Dead Fraction)(数论)
- UVA 10555 - Dead Fraction(数论+无限循环小数)
- POJ 1930 Dead Fraction 数论
- POJ-1930 Dead Fraction(简单数论)
- poj 1930 Dead Fraction 混循环小数化分数 数论
- POJ 1930 Dead Fraction
- POJ-1930-Dead Fraction
- POJ1930 Dead Fraction 数学
- FOJ 1006 Dead Fraction
- POJ 1930Dead Fraction
- Dead Fraction POJ
- Dead Fraction POJ
- POJ 1930 Dead Fraction【数学】
- POJ 1930 - Dead Fraction(数学)
- POJ 1930 Dead Fraction(小数化分数)
- Dead Fraction(辗转相除法)
- POJ 1930 Dead Fraction 已翻译
- poj 1930 Dead Fraction 循环小数的处理
- 从内存管理、内存泄漏、内存回收探讨C++内存管理
- uva 10831 - Gerg's Cake(勒让德记号)
- wiki 方格取数2 网络流 最大流最小费用流
- canvas的translate、scale、rotate等方法
- iOS读取通讯录功能
- uva 10555 - Dead Fraction)(数论)
- 防止非法登录的模块(用过滤器过滤相应的文件夹)
- 委托,事件和反射
- linux下Oracle数据库实例开机自启动设置
- poj3417 Network 离线LCA + 树形dp
- 适配器模式,Adapter
- canvas.translate(x,y)一点新的认识
- Android笔记之 TTS中文发音
- LSM分别苹果和桔子