0

特定の数値の素数をチェックするプログラムを(cppで)書いています

私が打たれたポイントは、入力に対するいくつかの算術演算で得られた値 i が整数であるかどうかをプログラム間でチェックインする必要があることです

つまり、入力が「a」であるとしましょう

「b」が整数かどうかを確認する方法を知りたい (参考までに、 b=(a+1)/6 )

これに対する私の試み:

int main()
{
    using std::cin;
    using std::cout;
    int b,c;
    int a;
    cout<<"enter the number";
    cin>>a;
    b=(a+1)/6;
    c=(a-1)/6;
    if (b is an integer)
        cout << "The given number is  prime";
    else if (c is an integer)
        cin << "The given number is  prime!";
    else
        cout<<"The number is not prime";                  
    return 0;
}
4

3 に答える 3

4

使用する必要がありますif (((a+1)%6) == 0)(モジュラス演算子を参照してください)。

于 2012-06-04T08:28:16.813 に答える
0

a1の両方が typeを持っているように、ともintそうです。typeも持つように、の値に関係なく type も持ちます。a+1(a+1)6int(a+1)/6inta

あなたが本当に知りたいと思うのは、 が6均等に分割されるかどうか(a+1)です。これには、モジュラス演算子を使用できます。の場合に限り6均等に分割します。(a+1)(a+1)%6 == 0

于 2012-06-04T08:30:29.560 に答える
0

他の回答で提案されているようにモジュラス演算子を使用するの%がおそらく最良の解決策ですが、質問にもっと文字通り答えるには、整数除算の結果が次のように正確かどうかを判断できます。

b=(a+1)/6;
c=(a-1)/6;
if (b * 6 == a + 1) // if b is an integer
    cout << "The given number is  prime";
else if (c * 6 == a - 1) // if c is an integer
    cin << "The given number is  prime!";
else
    cout<<"The number is not prime";
于 2012-06-04T08:30:59.663 に答える