小数点を検索
6051 ワード
質問する
コード#コード#
#include <bits/stdc++.h>
using namespace std;
int solution(int n)
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
long long answer = 0;
vector<long long> v;
for (long long i = 1; i <= n; i++)
{
v.push_back(i);
}
for (long long i = 2; i <= n; i++)
{
for (long long j = i * i; j <= n; j += i)
{
v[j] = -1;
}
}
v[1] = -1;
for (long long i = 1; i <= n; i++)
{
if (v[i] != -1)
answer++;
}
return answer;
}
int main(int argc, char const *argv[])
{
int n = 5;
solution(n);
return 0;
}
初めてint
型を使用した場合、分割エラーが発生したため、long long
型に変更すると正解となります.でも遅すぎて
sqrt
を活用します.Reference
この問題について(小数点を検索), 我々は、より多くの情報をここで見つけました https://velog.io/@aksel26/소수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol