Computer >> Máy Tính >  >> Lập trình >> lập trình C

C / C ++ Chương trình tìm Tích của các thừa số nguyên tố duy nhất của một số?

Các thừa số nguyên tố duy nhất là một thừa số của một số cũng là một số nguyên tố. Trong bài toán này, chúng ta phải tìm tích của tất cả các thừa số nguyên tố duy nhất của một số. A số nguyên tố là một số chỉ có hai yếu tố, số và một.

Ở đây chúng tôi sẽ cố gắng tìm ra cách tốt nhất để tính tích các thừa số nguyên tố duy nhất của một số. hãy lấy một ví dụ để làm rõ vấn đề hơn.

Có một số nói n =1092, chúng ta phải nhận được tích của các thừa số nguyên tố duy nhất của số này. Các thừa số nguyên tố của 1092 là 2, 3, 7, 13 và tích là 546.

2 để tìm ra điều này, một cách tiếp cận dễ dàng sẽ là tìm tất cả các thừa số của một số và kiểm tra xem thừa số có phải là một số nguyên tố hay không. nếu sau đó nhân nó với số rồi trả về biến nhân.

Input: n = 10
Output: 10

Giải thích

Ở đây, số đầu vào là 10 chỉ có 2 thừa số nguyên tố và chúng là 5 và 2.

Và do đó sản phẩm của họ là 10.

Sử dụng một vòng lặp từ i =2 đến n và kiểm tra xem tôi có phải là thừa số của n hay không, sau đó kiểm tra xem tôi có phải là số nguyên tố hay không nếu có, sau đó lưu trữ sản phẩm trong biến sản phẩm và tiếp tục quá trình này cho đến khi i =n.

Ví dụ

#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;
}