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 * i)%MAX,将产品设置为(product * num / i)%MAX。
返回。
算法
StartIn 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
//查找因素的乘积
long long productfactor(int num){
long long product = 1;
for (int i = 1; i * i <= num; i++){
if (num % i == 0){
//相等因子应该只相乘一次
if (num / i == i)
product = (product * i) % MAX;
//否则都乘以
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
以上是 C ++中数字的乘积 的全部内容, 来源链接: utcz.com/z/341011.html