Fraction to Recurring Decimal
来源:互联网 发布:网络语红烧肉什么意思 编辑:程序博客网 时间:2024/05/22 01:47
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)”.
Credits:
Special thanks to @Shangrila for adding this problem and creating all test cases.
思路:以2/7为例:
class Solution {public: //long to string string to_string(long x){ std::stringstream ss; ss<< x; return ss.str(); } string fractionToDecimal(int num, int den) {//虽然声明为int,但测试的时候,会用大数 if(num==0){ return "0"; } string sign="";//结果的符号 if(((num>>31)^(den>>31))!=0){//异号 sign="-"; } long long numerator=abs((long long)num);//先转成long long,再用abs long long denominator=abs((long long)den); if(numerator%denominator==0){//能够整除 return sign+to_string((numerator/denominator)); } long n=numerator/denominator;//整数部分 numerator=numerator%denominator;//分子 map<int,int> m; long i=0; string s=""; bool flag=false; while(m.find(numerator)==m.end()){ m[numerator]=i; numerator*=10; i++; if(numerator==0){//能够除尽 flag=true; break; } if(numerator<denominator){//不够除,补0 s+="0"; }else{ int l=numerator/denominator; s+=to_string(l); numerator%=denominator; } } if(flag){ return sign+to_string(n)+"."+s; } int index=m.find(numerator)->second; return sign+to_string(n)+("."+s.substr(0,index))+"("+s.substr(index,i-index)+")";//整数+小数点+非循环小数部分+(+循环小数部分+);不知道"非循环小数"是不是存在:( }};
0 0
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to recurring decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- Fraction to Recurring Decimal
- JavaScript中的正则表达式-简单应用
- JavaScript之作用域原理 2
- 队列的基本用法(顺序存储结构)
- ASP网站如何防止注入漏洞攻击
- 一个苹果证书如何多次使用——导出p12文件
- Fraction to Recurring Decimal
- 胡志伟:龙芯,我们的CPU
- Best Time to Buy and Sell Stock II - LeetCode 4
- aceadmin源码
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之KEY、LED
- 回忆自己的学生时代
- R语言学习-对象处理实用函数
- 父类中的this
- 多线程同步