C++ 中數字因數的乘積
給定一個數字 n,我們需要找到它的所有因數,並找到這些因數的乘積並返回結果,即數字的因數乘積。數字的因數是可以完全整除該數字的數字,包括 1。例如,6 的因數是 - 1、2、3、6。
現在根據任務,我們需要找到數字的所有因數的乘積。
輸入 - n = 18
輸出 - 5832
解釋 - 1 * 2 * 3 * 6 * 9 * 18 = 5832
輸入 - n = 9
輸出 - 27
解釋 - 1 * 3 * 9 = 27
下面使用的解決問題的方法如下 -
獲取輸入 num。
迴圈從 i = 1 到 i*i<=num
檢查如果 num%i==0,則檢查
如果 num%i == i,則將 product 的值設定為 (product*i)%1e7
否則將 product 設定為 (product * i) % MAX 並將 product 設定為 (product * num / i) % MAX。
返回 product。
演算法
Start In Function long long productfactor(int num) Step 1→ Declare and Initialize product as 1 Step 2→ For i = 1 and i * i <= num and i++ If num % i == 0 then, If num / i == i then, Set product as (product * i) % MAX Else Set product as (product * i) % MAX Set product as (product * num / i) % MAX Step 3→ Return product In Function int main() Step 1→ Declare and initialize n as 9 Step 2→ Print the result productfactor(n) Stop
示例
#include <stdio.h>
#define MAX 1000000000
// find the product of the factors
long long productfactor(int num){
long long product = 1;
for (int i = 1; i * i <= num; i++){
if (num % i == 0){
//equal factors should be multiplied only once
if (num / i == i)
product = (product * i) % MAX;
// Else multiply both
else {
product = (product * i) % MAX;
product = (product * num / i) % MAX;
}
}
}
return product;
}
int main(){
int n = 9;
printf("%lld\n", productfactor(n));
return 0;
}輸出
如果執行以上程式碼,它將生成以下輸出 -
27
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP