作业帮 > 综合 > 作业

因式分解 pascal 源程序

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/01 15:05:34
因式分解 pascal 源程序
将大于1的自然数N进行因式分解,满足N=a1*a2*a3…am.
编一程序,对任意的自然数N(1 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
输入(breeding.in)
输入文件仅有一行包含一个整数N.
输出(breeding.out)
输出文件仅有一行包含一个整数表示自然数N的因式分解方案总数.
输入样例:
12
输出样例
8
下面的程序错哪了?样例也过不了!
var x,y:array[1..50000]of longint;
m,n,i,ans:longint;
procedure fj(n:longint);
var i,j,k:longint;
begin
while (n1) do
begin
k:=2;
while n mod k0 do inc(k);
inc(m);
x[m]:=k;
while n mod k=0 do
begin
n:=n div k;
inc(y[m]);
end;
end;
end;
begin
read(n);
m:=0;
fj(n);
ans:=1;
for i:=1 to m do
ans:=ans*(y[i]+1);
writeln(ans);
end.
1
因式分解 pascal 源程序
var
a:array [0..100] of integer;
n,h:integer;
procedure tr(m,t:integer);
var
i:integer;
begin
for i:=2 to m do
if (a[t-1]
再问: 没过