이 튜토리얼에서는 주어진 곱으로 두 개의 고유한 소수를 찾는 프로그램을 작성할 것입니다. 몇 가지 예를 살펴보겠습니다.
입력 − 21
출력 − 3 7
여기서 우리는 주어진 곱보다 작은 모든 소수를 가질 필요가 있습니다. 소수가 있으면 쌍을 쉽게 찾을 수 있습니다. 문제를 해결하려면 아래 단계를 따르세요.
-
범위의 숫자가 소수인지 여부를 저장하기 위해 제품 및 부울 배열을 초기화합니다.
-
주어진 곱보다 작은 모든 소수를 찾아 배열에 저장합니다.
-
주어진 제품까지 반복합니다.
-
현재 숫자가 소수이고 n / current_number도 소수인 경우 고유한지 여부를 확인합니다.
-
구별되는 경우 인쇄하십시오.
-
예시
코드를 봅시다.
#include <bits/stdc++.h>
using namespace std;
bool primes(int n, bool primeStatus[]) {
primeStatus[0] = primeStatus[1] = false;
for (int i = 2; i <= n; i++) {
primeStatus[i] = true;
}
for (int i = 2; i * i <= n; i++) {
if (primeStatus[i] == true) {
for (int j = i * 2; j <= n; j += i)
primeStatus[j] = false;
}
}
}
int main() {
int n = 21;
bool primeStatus[n + 1], pairsFound = false;
primes(n, primeStatus);
for (int i = 2; i < n; i++) {
int pair = n / i;
if (primeStatus[i] && primeStatus[pair] && pair != i && pair * i == n) {
cout << i << " " << pair << endl;
pairsFound = true;
break;
}
}
if (!pairsFound){
cout << "No pairs";
}
return 0;
} 출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
3 7
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.