質問の循環小数の問題をPythonで解いてみました。
結局、既約分数でない場合について、漏れがあったようです。(^_^;
※参考URL
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1237381767
● RecurringDecimal.py
# coding: UTF-8 # RecurringDecimal.py from fractions import Fraction # 有限小数かどうか判定する関数 def isFinite(num,den): fra=Fraction(num,den) # 既約分数にする den=fra.denominator # 既約分数の分母を得る while den%2==0: # 2で割れるところまで割る den//=2 while den%5==0: # 5で割れるところまで割る den//=5 return den==1 # 循環小数かどうか判定する関数 def isRecurring(num,den): return not isFinite(num,den) def main(): cnt=0 for n in range(10,100): if isRecurring(23,n): cnt+=1 print(cnt) if __name__ == '__main__': main()
※参考URL
http://d.hatena.ne.jp/inamori/20090417/p2
●実行結果
78
- 作者: チャート研究所
- 出版社/メーカー: 数研出版
- 発売日: 2012/02/14
- メディア: 単行本
- 購入: 2人 クリック: 1回
- この商品を含むブログ (7件) を見る