이 튜토리얼에서는 주어진 곱으로 두 개의 고유한 소수를 찾는 프로그램을 작성할 것입니다. 몇 가지 예를 살펴보겠습니다.
입력 − 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
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.