Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

숫자의 고유한 소인수의 곱을 찾는 C/C++ 프로그램?

<시간/>

고유한 주요 요소 는 소수인 숫자의 인수이기도 합니다. 이 문제에서 우리는 숫자의 모든 고유한 소인수의 곱을 찾아야 합니다. 소수 는 수와 1의 두 가지 인수만 갖는 수입니다.

여기서 우리는 숫자의 고유한 소인수의 곱을 계산하는 가장 좋은 방법을 찾으려고 노력할 것입니다. 문제를 보다 명확하게 하기 위해 예를 들어보겠습니다.

n =1092라는 숫자가 있습니다. 우리는 이것의 고유한 소인수를 곱해야 합니다. 1092의 소인수는 2, 3, 7, 13이고 곱은 546입니다.

2 이를 찾기 위해 쉬운 접근 방식은 숫자의 모든 인수를 찾고 인수가 소수인지 확인하는 것입니다. 그런 다음 숫자를 곱한 다음 곱하기 변수를 반환합니다.

Input: n = 10
Output: 10

설명

여기에서 입력된 숫자는 10이고 소인수는 2개이며 5와 2입니다.

따라서 그들의 곱은 10입니다.

i =2에서 n까지 루프를 사용하여 i가 n의 인수인지 확인한 다음 i가 소수 자체인지 확인한 다음 제품 변수에 제품을 저장하고 i =n이 될 때까지 이 프로세스를 계속합니다.

예시

#include <iostream>
using namespace std;
int main() {
   int n = 10;
   long long int product = 1;
   for (int i = 2; i <= n; i++) {
      if (n % i == 0) {
         int isPrime = 1;
         for (int j = 2; j <= i / 2; j++) {
            if (i % j == 0) {
               isPrime = 0;
               break;
            }
         }
         if (isPrime) {
            product = product * i;
         }
      }
   }
   cout << product;
   return 0;
}