プログラミングのお題スレ Part18at TECH
プログラミングのお題スレ Part18 - 暇つぶし2ch620:253
20/09/28 22:51:28.57 mT2w1+AU.net
>>518 Python3, >>585を参考に計算量を√nに減らした解法
import math
for n in [81, 87, 91, 13]:
  s = math.sqrt(n)
  f = n
  for i in reversed(range(2, 1 + math.floor(s))):
    q, m = divmod(n, i)
    if m == 0: f = q; break
  print(n, '=>', f)

実行結果
~ $ python 18_509_99_rootn.py
81 => 9
87 => 29
91 => 13
13 => 13
もっとスマートな解法を考えていると双曲線を意識した解法を意識してしまうが、
簡単には解けない数学の問題に突き当たると思う


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch