[C언어] 소수 판별 방법
ET의 공부/C언어2020. 12. 15. 19:43
C언어에서 소수를 판별하는 방법입니다.
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
|
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("정수 입력: ");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("1 은 소수가 아닙니다.");
}
else {
if (flag == 0)
printf("%d은 소수입니다.", n);
else
printf("%d은 소수가 아닙니다.", n);
}
return 0;
}
|
소수는 자신과 1이외에는 나누어지지 않는 수입니다.
따라서 for문은 2부터 입력한 정수의 /2 만큼 반복합니다. 이 반복문 안에서 입력한 정수 n과 나누어지는 값이 있으면 이는 소수가 아닙니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 입력된 수가 두 소수의 합으로 이루어져 있는지 판별 (0) | 2020.12.16 |
---|---|
[C언어] 두 정수 사이의 모든 소수 구하는 방법 (0) | 2020.12.15 |
[C언어] 거듭 제곱 계산 방법 (0) | 2020.12.15 |
[C언어] 최소 공배수 계산 방법 (0) | 2020.12.15 |
[C언어] 최대 공약수 계산 방법 (0) | 2020.12.15 |
댓글()