소개
이 랩에서는 C++ 에서 주어진 숫자가 소수 (prime number) 인지 합성수 (composite number) 인지 확인하는 방법을 배웁니다. 소수는 1 보다 크고 1 과 자기 자신 외에는 어떤 숫자로도 나누어 떨어지지 않는 숫자입니다. 합성수는 1 보다 크고 1 과 자기 자신 외의 숫자로 나누어 떨어지는 숫자입니다.
이 랩에서는 C++ 에서 주어진 숫자가 소수 (prime number) 인지 합성수 (composite number) 인지 확인하는 방법을 배웁니다. 소수는 1 보다 크고 1 과 자기 자신 외에는 어떤 숫자로도 나누어 떨어지지 않는 숫자입니다. 합성수는 1 보다 크고 1 과 자기 자신 외의 숫자로 나누어 떨어지는 숫자입니다.
정수를 입력받아 해당 정수가 소수인지 여부를 나타내는 부울 값을 반환하는 isPrime() 함수를 정의합니다.
#include <iostream>
#include <math.h>
using namespace std;
bool isPrime(int n)
{
if (n == 1)
return false; // 1 은 소수가 아님
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
return false;
}
return true;
}
위 코드에서는 주어진 숫자가 어떤 숫자로 나누어 떨어지는지 확인합니다. 그러한 숫자가 없으면 그 숫자는 소수입니다. 숫자가 1 이면 소수가 아닙니다.
이제 사용자로부터 입력을 받아 isPrime() 함수를 사용하여 주어진 숫자가 소수인지 합성수인지 판단하는 main() 함수를 작성합니다.
int main()
{
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << " ===== Most Efficient Program to determine if the entered number is Prime or not. ===== \n\n";
cout << " ===== Note: 1 is neither Prime nor Composite. ===== \n\n";
int n;
bool prime = false;
cout << " Enter a positive integer other than 1 : ";
cin >> n;
prime = isPrime(n);
if (prime)
{
cout << "\n\nThe entered number " << n << " is a Prime number.";
}
else
{
cout << "\n\nThe entered number " << n << " is Composite number.";
}
cout << "\n\n\n";
return 0;
}
다음과 같이 g++ 명령을 사용하여 코드를 컴파일합니다.
g++ main.cpp -o main
그런 다음 ./main 명령을 사용하여 프로그램을 실행합니다.
./main
프로그램은 1 이 아닌 양의 정수를 입력하라는 메시지를 표시합니다. 숫자를 입력하고 Enter 키를 누르세요.
그런 다음 프로그램은 입력된 숫자가 소수인지 합성수인지 출력합니다.
#include <iostream>
#include <math.h>
using namespace std;
bool isPrime(int n)
{
if (n == 1)
return false; // 1 is not a prime number
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main()
{
cout << "\n\nWelcome to LabEx :-)\n\n\n";
cout << " ===== Most Efficient Program to determine if the entered number is Prime or not. ===== \n\n";
cout << " ===== Note: 1 is neither Prime nor Composite. ===== \n\n";
int n;
bool prime = false;
cout << " Enter a positive integer other than 1 : ";
cin >> n;
prime = isPrime(n);
if (prime)
{
cout << "\n\nThe entered number " << n << " is a Prime number.";
}
else
{
cout << "\n\nThe entered number " << n << " is Composite number.";
}
cout << "\n\n\n";
return 0;
}
이 랩에서는 C++ 에서 주어진 숫자가 소수 (prime) 인지 합성수 (composite) 인지 확인하는 방법을 배웠습니다. 1 과 자기 자신 외의 다른 숫자로 나누어지는지 여부에 따라 주어진 숫자가 소수인지 판별하는 함수를 사용했습니다. 그런 다음, 사용자로부터 입력을 받아 숫자가 소수인지 합성수인지 출력하는 main() 함수에서 이 함수를 사용했습니다.