pythonを使用してleetcode 166のスコアを小数に完了
分数を表す分子numeratorと分母denominatorの2つの整数を与え、文字列形式で小数を返します.
小数部が循環小数部の場合は、循環部を括弧で囲みます.
例1:
入力:numerator=1、denominator=2出力:「0.5」例2:
入力:numerator=2、denominator=1出力:「2」例3:
入力:numerator=2,denominator=3出力:「0.(6)」構想配列lは結果を格納し,計算を容易にするために,numeratorがそうでない場合numerator=numerator%denominator l.append(numerator//denominator)は、対応するnumeratorをdenominatorで割った結果q[numerator]=numerator//denominatorを辞書qで格納し、現在のnumeratorが辞書に表示されていない場合、すでにサイクルがあることを示し、このセグメントを括弧で囲む
コード#コード#
小数部が循環小数部の場合は、循環部を括弧で囲みます.
例1:
入力:numerator=1、denominator=2出力:「0.5」例2:
入力:numerator=2、denominator=1出力:「2」例3:
入力:numerator=2,denominator=3出力:「0.(6)」構想配列lは結果を格納し,計算を容易にするために,numeratorがそうでない場合numerator=numerator%denominator l.append(numerator//denominator)は、対応するnumeratorをdenominatorで割った結果q[numerator]=numerator//denominatorを辞書qで格納し、現在のnumeratorが辞書に表示されていない場合、すでにサイクルがあることを示し、このセグメントを括弧で囲む
コード#コード#
def fractionToDecimal(self, numerator, denominator):
if(numerator<0 and denominator<0):numerator,denominator=-numerator,-denominator
u=(numerator<0)^(denominator<0)
a=abs(numerator)
b=abs(denominator)
a=a%b
if(a==0):return str(numerator//denominator)
s=str(abs(numerator)//b)+'.'#
q={}
l=[]
while(a