前提
C++で約数を全て出力するプログラムを勉強しています。
発生している問題・エラーメッセージ
該当のソースコードの8行目の「if (N % i != 0) continue;」の「!=」の所の意味は調べてみると等しくないという意味と書いてあったので 「N/iの余りが0ではない時」という意味だと思っていたのですが 実際に動かしてみると逆に「N/iの余りが0の時」という風に動いてしまいます。 どういう理屈でそうなるのかわかりませんか
該当のソースコード
cpp
1#include <iostream> 2using namespace std; 3 4int main() { 5 long long N; 6 cin >> N; 7 for (long long i = 1; i * i <= N; i++) { 8 if (N % i != 0) continue; 9 cout << i << endl; 10 if (i != N / i) { 11 cout << N / i << endl; 12 } 13 } 14 return 0; 15}
試したこと
> 「N/iの余りが0の時」という風に動いてしまいます。
「解釈」でなく、まず観察できた動作そのものを記載(修正依頼欄ではなく質問の編集で追記)してみてください。
continue の意味/動作も調べてますよね?

回答1件
あなたの回答
tips
プレビュー