728x90
반응형
::문제::
소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다.
이 때 10,001번째의 소수를 구하세요.
::문제 주소::
https://euler.synap.co.kr/problem=7
-이하 소스 코드-
소수를 더 효율적으로 판별할 수 있는 알고리즘을 고안해보십시오.
#include <stdio.h>
#include <stdbool.h>
int prime(int num)
{
bool check = true;
if(num % 2 == 0)
return 0;
if(num % 3 == 0)
return 0;
for(int i = 2; i < num; i++)
{
if(num % i == 0)
{
check = false;
}
}
if(check)
{
return num;
}
else
{
return 0;
}
}
int main()
{
int count = 2;
for(int i = 5; count <= 10001; i++)
{
if(prime(i) > 0)
{
count++;
if(count == 10001)
{
printf("%d", prime(i)); // 104743
return 0;
}
}
}
return 0;
}
728x90
반응형
'CODING > C' 카테고리의 다른 글
[C언어]Project Euler(프로젝트 오일러) 9 번 (0) | 2020.08.05 |
---|---|
[C언어]Project Euler(프로젝트 오일러) 8 번 (0) | 2020.08.05 |
[C언어]Project Euler(프로젝트 오일러) 6 번 (0) | 2020.08.03 |
[C언어]Project Euler(프로젝트 오일러) 5 번 (0) | 2020.08.03 |