私はPythonでのプログラミングの初心者であり、これはProject Eulerでの私の最初のプログラムです(問題1)。
プロジェクトオイラーの問題1は、次のように尋ねています。
3または5の倍数である10未満のすべての自然数をリストすると、3、5、6、および9が得られます。これらの倍数の合計は23です。
1000未満の3または5のすべての倍数の合計を求めます。
どこかで推論が間違っているような気がしますが、どこで、なぜかわかりません。266333を取得します。
i=0
s=0
j=0
r=0
while i<1000:
s=s+i
i=i+3
while j<1000:
r=r+j
j=j+5
print("sum=",s+r)
いくつかの数字を2回追加しています。たとえば、15は3と5の倍数ですが、2回追加しないでください。
モジュロを使用して、ループを1つだけ使用して、もっと簡単なことをします。
例(テストされていません):
x=0
y=0
while x<1000
if (x%5==0 or x%3==0):
y=y+x
x+=1
print("Sum equals ",y)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加