C/C++程式:查詢數字的唯一質因數的乘積?
唯一質因數是指既是該數字的因數,又是質數的因數。在這個問題中,我們必須找到一個數字的所有唯一質因數的乘積。質數是指只有兩個因數的數,即該數本身和1。
在這裡,我們將嘗試找到計算數字唯一質因數乘積的最佳方法。讓我們舉一個例子來使問題更清晰。
假設有一個數字n = 1092,我們必須得到它的唯一質因數的乘積。1092的質因數是2、3、7、13,它們的乘積是546。
一種簡單的辦法是找到該數字的所有因數,並檢查該因數是否為質數。如果是,則將其乘以該數,然後返回乘積變數。
Input: n = 10 Output: 10
解釋
這裡,輸入數字是10,它只有2個質因數,分別是5和2。
因此它們的乘積是10。
使用迴圈從i = 2到n,並檢查i是否為n的因數,然後檢查i本身是否為質數,如果是,則將乘積儲存在product變數中,並繼續此過程直到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;
}
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP