前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Python3で複数の整数の完全数とほぼ完全数の判別を行うプログラムを作成しています
入力値は
3
28
16
777
です。3は入力する整数の個数を示しています。
実現したい内容は完全数ならperfect、ほぼ完全数ならnearly、どちらでもなければnoと出力したいです。
発生している問題・エラーメッセージ
[28.0, 14.0, 7.0, 4.0, 2.0, 1.0] [28.0, 14.0, 7.0, 4.0, 2.0, 1.0, 16.0, 8.0, 4.0, 2.0, 1.0] [28.0, 14.0, 7.0, 4.0, 2.0, 1.0, 16.0, 8.0, 4.0, 2.0, 1.0, 777.0, 259.0, 111.0, 37.0, 21.0, 7.0, 3.0, 1.0] 以上のような結果が出力され、毎回28の約数等が加算されるためうまくいきません。
該当のソースコード
Python3
1num = int(input()) 2yakusu = 0 3amari = 0 4list = [] 5total = 0 6s = [int(input()) for i in range(num)] 7for i in range(0,num): 8 for j in range(1,s[i]+1): 9 yakusu = s[i] / j 10 amari = s[i] % j 11 if amari == 0: 12 list.append(yakusu) 13 print(list) 14
試したこと
変数listにも番地をつけようとしたができなかった
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。