因式分解(pascal)

来源:百度知道 编辑:UC知道 时间:2024/06/04 00:31:22
求此题的详细思路

因式分解(breeding.pas)
【问题描述】
将大于1的自然数N进行因式分解,满足N=a1*a2*a3…am
编一程序,对任意的自然数N(1<N<2,000,000,000),求N的所有形式不同的因式分解方案总数。如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的因式分解方案总数。

【输入样例】breeding.in
12
【输出样例】breeding.out
8

呵呵其实是跟数学有关的问题,你要用计算机做的就是将输入的数分解为若干个质数相乘,用递归的思路。
首先,一个数n的最大的质因数绝不超过根号n,也就是说,你可能得到的最大质因数为44721
用x数组装得到的不同的质因数,用y数组装第i个质因数的个数
用m记当前不同质因数的个数
那么分解完以后,你要做的就是将y数组里的每一个数加1,然后将它们全部相乘
这是利用排列组合的思想得到的

如果需要程序的话跟我说吧,以上是你要的思路

可求出a=4,所以y=4x+8,所以A,B坐标为(2,16)与
(-1,4),所以面积为3*16-2*16*1/2-4*1*1/2-12*3*1/2=12

先标准质因数分解然后∏(各项指数+1)

我求求你选我吧 老大 求你了

呵呵其实是跟数学有关的问题,你要用计算机做的就是将输入的数分解为若干个质数相乘,用递归的思路。
首先,一个数n的最大的质因数绝不超过根号n,也就是说,你可能得到的最大质因数为44721
用x数组装得到的不同的质因数,用y数组装第i个质因数的个数
用m记当前不同质因数的个数
那么分解完以后,你要做的就是将y数组里的每一个数加1,然后将它们全部相乘
这是利用排列组合的思想得到的