-1

私が作成したこの C++ プログラムでは、ユーザー入力によって定義された数値のすべての約数をリストし、% 演算子を使用して剰余があるかどうかを確認します。

#include <iostream>
using namespace std;

int main()
{
    int n;
    cout<<"List divisors of: ";
    cin>>n;
    for (int a=1;a<n;a++)
    {       
        if ((a % n)==0)
        {
        cout<<a<<"- divisor of "<<n<<endl;
        }
        else
        {
            cout<<a<<endl;
        }

    }
    return 0;
}

ただし、if ((a % n)==0)条件が満たされることはないため、10 と入力した場合の出力は次のようになります。

List divisors of: 10
1
2
3
4
5
6
7
8
9

私は何を間違っていますか?

4

4 に答える 4

4

変化する

 if ((a % n)==0)

 to  if ((n % a)==0)
于 2013-04-13T16:16:26.783 に答える
1

おそらく、あなたが望むのは、数値のすべての約数です。数字を入れ替えてみてください: if ((n % a) == 0).

于 2013-04-13T16:16:53.363 に答える