#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int is_prime(int n);
int main(void)
{
int n, result;
printf("정수를 입력하시오: ");
scanf("%d", &n);
result = is_prime(n);
if (result == 1) {
printf("%d는 소수입니다.\n", n);
}
else {
printf("%d는 소수가 아닙니다.\n", n);
}
return 0;
}
int is_prime(int n)
{
int divisor = 0;
int i;
for (i = 1;i <= n;i++) {
if (n % i == 0) {
divisor++;
}
}
return (divisor == 2);
}
알고리즘:
사용자로부터 정수를 입력받아서 변수 n에 저 약수의 개수를 0으로 초기화한다.
for( i=1; i<=n ; i++ )
n을 i로 나누어서 나머지가 0인
나머지가 0이면 약수의 개수를 약수의 개수가 2이면 정수 n은 소수이다.
'DSA' 카테고리의 다른 글
다익스트라 알고리즘 (Dijkstra Algorithm) (0) | 2024.06.06 |
---|---|
포인터 연습 예제3 (참조에 의한 호출, call-by-reference)(함수에서 2개 이상의 값 동시 반환) (1) | 2024.06.04 |
배열 연습2 (선택정렬 알고리즘)(Selection Sort Algorithm) (0) | 2024.05.26 |
배열 최대값 찾기 (0) | 2024.05.25 |
정렬 알고리즘 (8) | 2024.02.27 |