본문 바로가기
DSA

소수 찾기 함수

by KWONE 2024. 5. 26.
#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은 소수이다.