pascal因式分解题目

来源:百度知道 编辑:UC知道 时间:2024/06/22 06:22:35
因式分解

Time Limit:1000MS Memory Limit:65536K
Total Submit:13 Accepted:1

Description

将大于1的自然数N进行因式分解,满足N=a1*a2*a3…am
编一程序,对任意的自然数N,
求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

Input

输入文件仅有一行包含一个整数N。

Output

输出文件仅有一行包含一个整数表示自然数N的因式分解方案总数。

Sample Input

12

Sample Output

8

Hint

1 <= N <= 2,000,000,000
只求一个程序,水贴的就不要来混了。谢谢合作。

var a:array[1..99999999]of longint;
j,k:longint;
function fenjie(n:longint):longint;
var sum,i:longint;
begin
sum:=0;
if a[n]=0 then
begin
for i:=1 to n div 2 do
if n mod i=0 then
sum:=sum+fenjie(i);
a[n]:=sum;
end
else
sum:=a[n];
fenjie:=sum;
end;
begin
read(k);
a[1]:=1;
j:=fenjie(k);
write(j);
end.
以前的程序,不一定能过,试试
如果是vijos的话,应该没问题