资源简介
Description
大于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共有多少种不同的分解式。
Input
第一行一个正整数n (1<=n<=1000000)
Output
不同的分解式数目
Sample Input
12
Sample Output
8
Hint
此题因子讲顺序的.第一个因子可能是2~n之间的数.
代码片段和文件信息
#include
using namespace std;
int num=0;
void f(int m)
{
if(m==1)
num++;
else
for(int i=m;i>=2;i--)
if(m%i==0)
f(m/i);
}
int main()
{
int n;
cin>>n;
f(n);
cout< return 0;
}
tle>未将对象引用设置到对象的实例。 tle>
ta name=“viewport“ content=“width=device-width“ />
yle>
body {font-family:“Verdana“;font-weight:normal;font-size: .7em;color:black;}
p {font-family:“Verdana“;font-weight:normal;color:black;margin-top: -5px}
b {font-family:“Verdana“;font-weight:bold;color:black;margin-top: -5px}
H1 { font-family:“Verdana“;font-weight:normal;font-size:18pt;color:red }
H2 { font-family:“Verdana“;font-weight:normal;font-size:14pt;color:maroo
- 上一篇:点对点文件传输源代码
- 下一篇:bmp位图文件的读取与保存
评论
共有 条评论