给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。
如果小数部分为循环小数,则将循环的部分括在括号内。
示例 1:
输入: numerator = 1, denominator = 2
输出: “0.5”
示例 2:
输入: numerator = 2, denominator = 1
输出: “2”
示例 3:
输入: numerator = 2, denominator = 3
输出: “0.(6)”
思路
数组l储存结果,为了方便计算,
当numerator <denominator 时numerator =numerator *10
否则numerator=numerator %denominator
l.append(numerator //denominator )
用字典q储存每个对应numerator 除以 denominator 的结果q[numerator]=numerator //denominator
当当前numerator 已在字典中出现过时,表示已经有一段循环了,将这一段用括号括起来
代码
def fractionToDecimal(self, numerator, denominator):
if(numerator<0 and denominator<0):numerator,denominator=-numerator,-denominator
u=(numerator<0)^(denominator<0)
a=abs(numerator)