leetcode---Fraction to Recurring Decimal
来源:互联网 发布:怎么快速成为淘宝达人 编辑:程序博客网 时间:2024/06/09 13:59
Given two integers representing the numerator and denominator of a fraction, return the fraction in string format.
If the fractional part is repeating, enclose the repeating part in parentheses.
For example,
Given numerator = 1, denominator = 2, return “0.5”.
Given numerator = 2, denominator = 1, return “2”.
Given numerator = 2, denominator = 3, return “0.(6)”.
class Solution {public: string fractionToDecimal(int numerator, int denominator) { string ans = ""; if(numerator == 0) return "0"; if(denominator == 0) return ""; if((numerator < 0) ^ (denominator < 0)) ans += "-"; long long int numerat = abs(numerator); long long int denominat = abs(denominator); //整数部分 long long int tmp1 = abs(numerat / denominat); char c[20]; sprintf(c, "%lld", tmp1); ans += string(c); long long int yu = numerat % denominat; if(yu == 0) return ans; ans += "."; //小数部分 map<long long int, int> m; while(yu) { if(m.find(yu) != m.end()) { int index = m[yu]; string tmp1 = ans.substr(0, index); string tmp2 = ans.substr(index, ans.length()-index); ans = tmp1 + "(" + tmp2 + ")"; return ans; } m[yu] = ans.length(); yu *= 10; long long int tmp = fabs(yu / denominat); sprintf(c, "%lld", tmp); ans += string(c); yu %= denominator; } return ans; }};
class Solution(object): def fractionToDecimal(self, numerator, denominator): """ :type numerator: int :type denominator: int :rtype: str """ if numerator == 0: return "0" if denominator == 0: return "" ans = '' if (numerator < 0) ^ (denominator < 0): ans += '-' n = abs(numerator) d = abs(denominator) tmp1 = abs(n / d) ans += str(tmp1) yu = n % d if yu == 0: return ans ans += "." dicts = {} while yu: if dicts.has_key(yu): tmp1 = ans[0 : dicts[yu]] tmp2 = ans[dicts[yu] : ] ans = tmp1 + '(' + tmp2 + ')' return ans dicts[yu] = len(ans) yu *= 10; tmp = yu / d ans += str(tmp) yu %= d return ans
0 0
- [leetcode] Fraction to Recurring Decimal
- LeetCode Fraction to Recurring Decimal
- Fraction to Recurring Decimal leetcode
- leetcode:Fraction to Recurring Decimal
- [LeetCode] Fraction to Recurring Decimal
- [leetCode] Fraction to Recurring Decimal
- LeetCode:Fraction to Recurring Decimal
- Leetcode: Fraction to Recurring Decimal
- Leetcode: Fraction to Recurring Decimal
- [LeetCode] Fraction to Recurring Decimal
- [LeetCode]Fraction to Recurring Decimal
- leetcode:Fraction to Recurring Decimal
- [LeetCode]Fraction to Recurring Decimal
- Leetcode: Fraction to Recurring Decimal
- [leetcode]Fraction to Recurring Decimal
- LeetCode: Fraction to Recurring Decimal
- [LeetCode] Fraction to Recurring Decimal
- leetcode: Fraction to Recurring Decimal
- Python程序转换为exe程序,py2exe的使用方法
- JavaScript数组
- PHP二叉树(三):红黑树
- favicon.ico and robots.txt
- H264解析开源库H264Bitstream
- leetcode---Fraction to Recurring Decimal
- 第九周--建立稀疏矩阵三元组表示算法库
- MFC 用afxbeginthread创建线程 线程函数直接 return 0 返回。任务管理器显示线程数与理论值不符
- nginx原理
- 栈01:实现栈的3中方式: 数组,链表和容器
- Java虚拟机基础
- 如何卸载 sdlx
- Spring之搭建环境
- java 之前的一些配置及简单运行