leetcode新题,哈希表,Fraction to Recurring Decimal 。题意:给定两个整型数,一个代表分子numerator,一个代表分母denominator,以小数的形式返回它们的结果result,当有循环小数时,以括号形式表示。比如5/3=1.666666...以“1.(6)”的形式返回,返回的类型是字符串。
解题要点:
1、负数的处理
2、INT_MIN的处理,将INT_MIN转化为正数会溢出,因此要使用long long int来计算。
3、分为整数部分和小数部分,重点在于小...
分类:
其他好文 时间:
2014-12-18 09:13:48
阅读次数:
182
求1/n(是循环小数只输出第一个循环节)
思路:模拟求余
http://acm.nyist.net/JudgeOnline/problem.php?pid=330
#include
#include
#include
using namespace std;
int vis[100005];
int main()
{
int d,n;
cin>>d;
while(...
分类:
其他好文 时间:
2014-12-11 22:30:44
阅读次数:
209
问题描述:
将任意无限循环小数转换为分数。例如0.121121121........=121/999
算法综述:
前面有一篇博文抱着娱乐态度证明了0.9999...=1 ,证明过程既不严谨。但由此可想到一种将任意无限循环小数快速转为分数的方法。
首先回顾下0.9999...=1 的证明过程:
证明:
令a=0.99999...(无限循环)
则10a=9.99999...(无限循环...
分类:
其他好文 时间:
2014-12-11 14:04:35
阅读次数:
252
题目: 给一个有限小数 或者 无限循环小数, 用分母最小的方式用分数精确的表达这个数字。 括号中表示循环部分,如:0.3 , 0.3(3), 0.3(0)思路:我一看,傻眼了,想了两下不想想了,就在网上找循环小数转分数,结果居然是小学奥赛题!我郁闷的很啊.....拿 1.2(34)来举例子吧1.2(...
分类:
其他好文 时间:
2014-10-31 13:45:07
阅读次数:
226
小数相加
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述
给你两个个小数,你能计算出它们的和是多少吗?
你肯定会说,so easy。
可是,如果这些小数中有的是无限循环小数呢?
无限循环小数一般有三部分,整数部分,小数不循环部分,和小数循环部分。
比如:
1.2(34)的三部分分别为1 2 34.
2.(04)的整数...
分类:
其他好文 时间:
2014-10-18 11:15:31
阅读次数:
172
这是以前帮一个哥们做的考研复试题,还是比较有趣的。首先输入测试数据组数,然后每一组输入的格式为a.b(c),比如:103.1(3)0.(3)1.(25)输出分数形式:47/151/3124/99代码和分析如下:#include #include //按照题目条件,设小数是a.b(c)的,比如3.1(...
分类:
其他好文 时间:
2014-10-17 15:01:38
阅读次数:
146
又是一道用欧拉定理解的题。。嗯,关键还是要建好方程,注意一些化简技巧题目大意:给定一个由 p / q 生成的循环小数,求此循环小数在二进制表示下的最小循环节以及不是循环节的前缀思路:小数化为二进制,应该乘2取余, 设从小数的第x位开始有长度为y的循环节,先把 p/q 化为最简分数,此时p,q互质则应...
分类:
其他好文 时间:
2014-09-19 15:08:55
阅读次数:
207
给定一个字符串类型(string)表示的小数,打印出它的二进制表示。
这个题注意字符串的合法性。
不过下面的代码没有处理那种无限循环的小数,
当出现无限循环小数时,while(other>0)可能永久为true
代码:
#include
#include
std::string to_binary_string(const std::string& vNumStr)
{
std:...
分类:
其他好文 时间:
2014-09-11 01:11:31
阅读次数:
316
题意:算出1/n的结果,循环小数只输出第一个循环节
策略:模拟1除去n即可。
判断是否是循环节只需要找到%n之后的模是否出现就好了。
代码:
#include
#include
#define M 100005
bool vis[M];
int main(){
int t, n;
scanf("%d", &t);
while(t --){
scanf("%d", &n);
...
分类:
其他好文 时间:
2014-09-06 16:08:43
阅读次数:
143