私はプロジェクトオイラーの問題5を解決しようとしていますが、私が得続ける答えは間違っています:
#include <stdio.h>
main()
{
int num;
int x = 0;
for (num = 20; x == 0; num++)
{
if ((num%1) == 0 && (num%2) == 0 && (num%3) == 0 && (num%4) == 0 && (num%5) == 0 && (num%6) == 0 && (num%7) == 0 && (num%8) == 0 && (num%9) == 0 && (num%10) == 0 && (num%11) == 0 && (num%12) == 0 && (num%13) == 0 && (num%14) == 0 && (num%15) == 0 && (num%16) == 0 && (num%17) == 0 && (num%18) == 0 && (num%19) == 0 && (num%20) == 0)
x = 1;
}
printf("%d %d", num, x);
}
私のプログラムは印刷を続けます232792561
(私はxを印刷していることを知っています、これは単にトラブルシューティングの目的のためです)。
私が得ている逐語的な出力は次のとおり232792561 1
です。
調べてみたところ、問題の正解はです232792560
。私は今、問題はforループにあると信じ始めています。
ループは最初に何をしますか、反復(num++
)またはテスト(x == 0
)?