BOJ1978


検索BOJ 1978小数点


質問する



コード#コード#

#include <iostream>
using namespace std;

int main()
{
    int n;

    cin >> n;
    int cnt = n;
    int num[100] = {
        0,
    };
    for (int i = 0; i < n; i++)
    {
        cin >> num[i];
        if (num[i] == 1)
            cnt--;
    }

    for (int i = 0; i < n; i++)
    {
        for (int j = 2; j <= sqrt(num[i]); j++)
        {
            if (num[i] % j == 0)
            {
                cnt--;
                break;
            }
        }
    }

    cout << cnt << endl;
    return 0;
}

  • エラトステネスのふるい
    0に初期化された配列では、倍数の値を1に置き換え、小数のみを認識します.

  • エラトネスの体を直接体現しています
    アレイ内の1 3 5 7を1個ずつ比較し,小数と判定された場合はcntを増やす方法で行った.

  • エラトネスの具体的な構造が特定できないため、セグメントエラーが頻繁に発生します.

  • 私のやり方ch[i * 2] = 0;、初期化は1