jason0811   4년 전

도와주세요ㅠㅠ

초등학생이에요ㅠㅠ

wjddydgns99   4년 전

문제는 1부터 최대 1000까지 안의 소수의 갯수를 구하라는 문제입니다.

하지만 소스코드를 보면, 31까지 밖에 검사를 안하네요. 저런 방법으로 풀게 되면 배열에 1000이하의 모든 소수를 넣으셔야할거에요.

저런 방법 말고, 숫자가 입력되면 그게 소수인지 아닌지 판별하는 법을 공부해보는걸 추천드려요.

물론 그 방법은 초등학생이 학교에서 배우지는 못했겠네요... 중학교때 소수에 대해서 처음 배울텐데...


(초등학생때부터 여기서 문제를 풀다니... 존경합니다...) 


wjddydgns99   4년 전

위의 답변이 어렵고 이해가 안된다면, 다음을 출력해보세요.

입력)

71

답) 1

출력)0


71은 20번째 소수입니다. 

jason0811   4년 전

감사합니다~~^^

제곱만 생각했어요ㅠㅠ

jason0811   4년 전

#include

int main(void)

{

int n;

int a;

int sum=0;

int j;

scanf("%d", &n);

for (int i = 0; i < n; i++)

{

scanf("%d", &a);

if (a != 1)

{

if (a < 10)

{

if (a == 2 || a == 3 || a == 5 || a == 7)

{

sum++;

}

}

else

{

if (a % 2 != 0)

{

for (j = a; j != 1;)

{

j = j - 2;

if (a % j == 0)

{

break;

}

}

if (j == 1)

{

sum++;

}

}

}

}

}

printf("%d", sum);

}

감사합니다

풀었어요!

댓글을 작성하려면 로그인해야 합니다.