소수는 1보다 큰 정수이며 소수의 유일한 인수는 1과 자기 자신이어야 합니다.
첫 번째 소수 중 일부는 -
2, 3, 5, 7, 11, 13 ,17
함수를 이용하여 소수인지 아닌지 확인하는 프로그램은 다음과 같다.
예시
#include <iostream> using namespace std; void isPrime(int n) { int i, flag = 0; for(i=2; i<=n/2; ++i) { if(n%i==0) { flag=1; break; } } if (flag==0) cout<<n<<" is a prime number"<<endl; else cout<<n<<" is not a prime number"<<endl; } int main() { isPrime(17); isPrime(20); return 0; }
출력
17 is a prime number 20 is not a prime number
isPrime() 함수는 숫자가 소수인지 여부를 확인하는 데 사용됩니다. 2에서 n의 절반까지 실행되는 루프가 있습니다. 여기서 n은 결정할 수입니다. 루프의 각 값은 n을 나눕니다. 이 나눗셈의 나머지가 0이면 n은 1이나 자기 자신이 아닌 숫자로 나눌 수 있음을 의미합니다. 따라서 소수가 아니며 플래그가 1로 설정됩니다. 그런 다음 break 문을 사용하여 아래와 같이 루프를 종료합니다. -
for(i=2; i<=n/2; ++i) { if(n%i==0) { flag=1; break; } }
플래그 값이 0으로 남아 있으면 숫자는 소수이고 표시됩니다. flag의 값이 1로 변경된 경우 해당 숫자는 소수가 아니며 표시됩니다.
if (flag==0) cout<<n<<" is a prime number"; else cout<<n<<" is not a prime number";
isPrime() 함수는 값 17과 20에 대해 main() 함수에서 호출됩니다. 이는 다음과 같이 표시됩니다.
isPrime(17); isPrime(20);