poj1930 Dead Fraction
思路:
循环小数化分数,枚举所有可能的循环节,取分母最小的那个。
实现:
#include <iostream>
#include <cstdio>
#include <string>
using namespace std; const int INF = 0x3f3f3f3f; int gcd(int a, int b)
{
return !b ? a : gcd(b, a % b);
} int lcm(int a, int b)
{
return a / gcd(a, b) * b;
} int toNum(string s)
{
int n = s.length();
int res = ;
for (int i = ; i < n; i++)
{
res += s[i] - '';
if (i != n - )
res *= ;
}
return res;
} int main()
{
string s;
while (cin >> s, s != "")
{
s = s.substr(, s.length() - );
int n = s.length();
int minn = INF;
int minm = ;
for (int i = ; i < n; i++)
{
int x = toNum(s.substr(i, n - i));
int y = ;
for (int j = ; j < n - i - ; j++)
{
y *= ;
y += ;
}
for (int j = ; j < i; j++)
{
y *= ;
}
int p = toNum(s.substr(, i));
int q = ;
for (int j = ; j < i; j++)
{
q *= ;
}
int l = lcm(y, q);
int tmp = l / y * x + l / q * p;
int g = gcd(tmp, l);
tmp /= g;
l /= g;
if (l < minn)
{
minn = l;
minm = tmp;
}
}
cout << minm << "/" << minn << endl;
}
return ;
}
poj1930 Dead Fraction的更多相关文章
- uva 10555 - Dead Fraction)(数论)
option=com_onlinejudge&Itemid=8&category=516&page=show_problem&problem=1496" st ...
- poj 1930 Dead Fraction(循环小数化分数)
Dead Fraction Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3478 Accepted: 1162 Des ...
- UVA 10555 - Dead Fraction(数论+无限循环小数)
UVA 10555 - Dead Fraction 题目链接 题意:给定一个循环小数,不确定循环节,求出该小数用分数表示,而且分母最小的情况 思路:推个小公式 一个小数0.aaaaabbb... 表示 ...
- Dead Fraction [POJ1930]
题意: 很有意思的一道题,,将一个无限循环小数转化成分母最小的精确分数值....,循环的部分不一定是最后一位. Sample Input 0.2... 0.20... 0.474612399... 0 ...
- POJ 1930 Dead Fraction
POJ 1930 Dead Rraction 此题是一个将无限循环小数转化为分数的题目 对于一个数 x=0.abcdefdef.... 假设其不循环部分的长度为m(如abc的长度为m),循环节的长度为 ...
- Mathematics:Dead Fraction(POJ 1930)
消失了的分式 题目大意:某个人在赶论文,需要把里面有些写成小数的数字化为分式,这些小数是无限循环小数(有理数),要你找对应的分母最小的那个分式(也就是从哪里开始循环并不知道). 一开始我也是蒙了,这尼 ...
- POJ 1930 Dead Fraction (循环小数-GCD)
题意:给你一个循环小数,化成分数,要求分数的分母最小. 思路:暴力搜一遍循环节 把循环小数化分数步骤: 纯循环小数化分数 纯循环小数的小数部分可以化成分数,这个分数的分子是一个循环节表示的数,分母各位 ...
- poj1930 数论
Dead Fraction Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1258 Accepted: 379 Desc ...
- POJ 1930
Dead Fraction Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1762 Accepted: 568 Desc ...
随机推荐
- maven 项目 spring mvc + jdbc 配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- android 自己主动拒接后再取消自己主动拒接,该联系人来电界面无图标显示,且点击挂断无反应
1. 设置一个联系人为自己主动拒接 2. 该联系人来电 3. 取消该联系人的自己主动拒接 4. 该联系人来电 Error: 来电界面无头像显示,直接显示黑屏,且点击拒接butt ...
- centos7 rpm 安装MySQL5.6
系统centos7,安装MySQL,出错,百度了一大堆,几乎都是通过yum安装的MySQL,我想说的是,通过yum自动安装的话系统自己会帮你做很多事情,相关联的包也会下下来,相当于替你省去了很多事情, ...
- 编程题:1. var person = '{name:"Lily",sex:"famale",age:24,country:"US"}';将person转换成JSON对象并便利每个属性值。
/// <summary> /// Json工具类 /// </summary> public class JsonUtility { private static JsonU ...
- (19)javaWeb项目名称修改
1,选中项目,[右键]-[Refactor]-[Rename] 在弹出面板中,填写New Name 点击[OK] 2,改变运行时目录名称 选中项目[右键]-[Properties] 在弹框中选择选择[ ...
- ubuntu12.04安装tftp,配置,修改目录,错误类型
[前言]学习嵌入式,需要配置tftp服务,在网上搜了搜,很多,但是配置了,我的老是出现Error code 1: File not found错误,经过探索和一个大哥的博客http://blog.cs ...
- IOS应用在iPhone5和iPhone5s上不能全屏显示,应用画面上下各有1条黑色的解决方案
设置启动图片就可以了: 添加启动图: 接着设置为启动图: 这样就ok了
- codeforces 688D D. Remainders Game(中国剩余定理)
题目链接: D. Remainders Game time limit per test 1 second memory limit per test 256 megabytes input stan ...
- I.MX6 wpa_cli 使用
/*********************************************************************** * I.MX6 wpa_cli 使用 * 说明: * ...
- BZOJ_3448_[Usaco2014 Feb]Auto-complete_Trie树
BZOJ_3448_[Usaco2014 Feb]Auto-complete_Trie Description Bessie the cow has a new cell phone and enjo ...