整数因子分解问题

简介: 整数因子分解问题

问题描述:


大于1 的正整数n 可以分解为:n=x1 乘 x2 乘…xm 。

例如,当n= 12 时,共有8 种不同的分解式:

12= 12;

12=6乘2;

12=4乘3;

12=3乘4;

12=3乘2乘2;

12=2乘6;

12=2乘3乘2;

12=2乘2乘3。

编程任务:


对于给定的正整数n,编程计算n 共有多少种不同的分解式。

数据输入:


输入数据第一行有1 个正整数n (1≤n≤2000000000) 。

结果输出:


将计算出的不同的分解式数。

输入 输出
12 8

#include<iostream.h>  
long  total=0;  
int main()  
{  
void solve(long n);  
long n;  
cin>>n;  
solve(n);  
cout<<total<<endl;  
return 0;  
}  
void solve(long n)  
{  
    if(n==1)  
        total++;  
    else  
    {  
        for(long i=2;i<=n;i++)  
            if(n%i==0)  
                solve(n/i);  
    }  
}  
相关文章
|
9月前
|
算法 测试技术 C#
【数学】【数论】【最大公约数】1819. 序列中不同最大公约数的数目
【数学】【数论】【最大公约数】1819. 序列中不同最大公约数的数目
|
机器学习/深度学习 算法
算法分析 | 第三套(渐近符号)
算法分析 | 第三套(渐近符号)
119 0
|
C++
C++ 超大整数相加、相乘的精确求解,以及10000的阶乘
C++ 超大整数相加、相乘的精确求解,以及10000的阶乘
141 0
|
算法 C++
基础算法-整数二分
二分法的基本思想比较简单,是用来在数组当中查找特定元素的算法。 二分可以分为整数二分和浮点二分,本文主要介绍整数二分。
|
存储
[递推]双幂序列、多幂序列、双幂积序列的和
[递推]双幂序列、多幂序列、双幂积序列的和
234 0
[递推]双幂序列、多幂序列、双幂积序列的和
leetcode-829. 连续整数求和(数论)
这题求连续正整数,刚好满足等差数列,可以用等差数列求和公式 n = (i + (i + k)) * (k + 1) / 2 其中i是连续正整数的首项,k是尾项和首项的差值
138 0
leetcode-829. 连续整数求和(数论)
|
算法 Java API
基础算法练习200题15、整数累加
基础算法练习200题15、整数累加
137 0
基础算法练习200题15、整数累加
【分治法】整数因子分解问题
【分治法】整数因子分解问题
384 0