1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <stdio.h> int main(void) { int num1=0; int num2=2; int num3=3; int pn=0; int result=0; printf("정수를 입력 하세요 (1~1,000,000) : "); scanf("%d", &num1); if(num1 < 1 || num1 > 1000000) { printf("%d는 범위안의 숫자가 아닙니다",num1); } else { while(num1 != num3) { result = num3 % num2; if(num3 != num2) { if(result == 0) { num2=2; num3++; } } else { pn++; num3++; num2=2; } } printf("1~%d 사이에 존재하는 소수의 총 개수 : %d 개",num1, pn); } return 0; } | cs |
말씀하신대로
result 가 변화하지 않는거같아서 위치를 옮겨봤습니다.
그래도 무반응인게 똑같네요 ㅜㅜ 어떤부분이 틀렷을까요
num2는 항상 2고 우리의 관심은 num1이 소수인지 보는 것이고 num3은 1씩 증가하고 있으니 num1을 num3으로 나눠떨어지는지 확인해야 하지 않을까요?
아 ! num2 .. 감사합니다 ㅜ