166. Fraction to Recurring Decimal 未完成
来源:互联网 发布:java字符串大小写转换 编辑:程序博客网 时间:2024/05/22 12:48
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)".
此题的思路并不难,但是程序较复杂,各种情况都容易出错
我的代码:当处理1/90时,答案为0.0(11),应该是因子是10的倍数导致的
class Solution {public: string fractionToDecimal(int numerator, int denominator) { string left; string right; bool re=false; if(numerator==0) return left+"0"; if(denominator==0) return left; unordered_map<int,int> hash; hash[numerator]=0; int first=0,last=0; if(numerator>=denominator) { left+=to_string(numerator/denominator); if(numerator%denominator) { fraction(numerator%denominator,denominator,right,numerator,re,hash,last,first); } } else { fraction(numerator,denominator,right,numerator,re,hash,last,first); } string res; if(!left.empty()) res+=left; else res+="0"; if(!right.empty()) { if(re) { res.push_back('.'); for(int i=0;i<first;i++) { res.push_back(right[i]); } res+="("+right.substr(first)+")"; } else res+="."+right; } return res; } void fraction(int num,const int& de,string& right,const int& nu,bool& re,unordered_map<int,int>& hash,int& last,int& first){ int zero=0; while(num<de) { zero++; num*=10; } int temp=num/de; int ba=zero; while(ba-->1) { right+="0"; } right+=to_string(temp); last++; while(zero>nu&&zero%10==0) { zero/=10; } if(hash.find(num%de)!=hash.end()) { re=true; first=hash[num%de]; return ; } if(num%de==0) return ; hash[num%de]=last; fraction(num%de,de,right,nu,re,hash,last,first); }};
阅读全文
0 0
- 166. Fraction to Recurring Decimal 未完成
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 166. Fraction to Recurring Decimal
- 《Effective python》第一章节读后感
- 链表
- caffe训练途中停止之后继续训练
- java数据库编程--SQL语法基础
- HTML 块级元素,内联元素
- 166. Fraction to Recurring Decimal 未完成
- 走进Node.js 之 HTTP实现分析
- STL源码分析之vector(一) 基本数据类型及构造函数
- 数据集合划分
- Guitar Pro 5手机版-安卓版-ios版地址
- ubuntu编译caffe遇到未定义的引用cublas*_v2错误
- keyshot4破解版下载 64位/32位附安装教程
- PTS和DTS解读
- 翻译 | 开始使用 TypeScript 和 React