输入一个正整数N,把它分解成质因子相乘的形式.如:36=1×2×2×3×3;用 FREE pascal
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/27 18:52:34
输入一个正整数N,把它分解成质因子相乘的形式.如:36=1×2×2×3×3;用 FREE pascal
function prime(inputnum:integer):boolean; end; {判断素数,代码不赘述了}
procedure printa;{输出}
begin
for i:=1 to node-2 do
write(a[i],'×');
write(a[node-1]);
end;
procedure work(nn:integer);
begin
if prime(nn)=true then {不能分解时,输出答案}
begin
printa;
exit;
end;
for i:=1 to trunc(sqrt(nn)) do
begin
if (prime(i)=true) and (nn mod i=0) then
begin
a[node]=i;
inc(node);
work(nn/i);
end;
end;
end;
begin
input(n);
a[1]=1;{存储分解的质因数}
node=2;{数组a的指针变量}
work(n);
end.
可能语法有误,稍加修改就可以,但是有比本算法效率更高的算法,
例如另开一个数组专门记录调用过prime函数的值,再次调用此函数时只要查询这个数组就可以了……
procedure printa;{输出}
begin
for i:=1 to node-2 do
write(a[i],'×');
write(a[node-1]);
end;
procedure work(nn:integer);
begin
if prime(nn)=true then {不能分解时,输出答案}
begin
printa;
exit;
end;
for i:=1 to trunc(sqrt(nn)) do
begin
if (prime(i)=true) and (nn mod i=0) then
begin
a[node]=i;
inc(node);
work(nn/i);
end;
end;
end;
begin
input(n);
a[1]=1;{存储分解的质因数}
node=2;{数组a的指针变量}
work(n);
end.
可能语法有误,稍加修改就可以,但是有比本算法效率更高的算法,
例如另开一个数组专门记录调用过prime函数的值,再次调用此函数时只要查询这个数组就可以了……
输入一个正整数N,把它分解成质因子相乘的形式.如:36=1×2×2×3×3;用 FREE pascal.
用VB编写输入一个正整数N,把它分解成质因子相乘的形式.如输入36,输出36=1×2×2×3×3
VB:输入一个正整数N,把它分解成质因子相乘的形式
输入一个正整数N,把它分解成质因子相乘的形式,有错误,请指出?
用Pascal编写一程序,输入一个正整数N,将N分解成质因数幂的乘积形式(帮忙看一下我哪里错了)
C语言.输入一个正整数,输出它的所有质数的因子(如180的质数因子为2,2,3,3,5)
Pascal 语言输入一个正整数,求出它的所有素因子,每两个数之间用一个空格隔开
在 TURBO PASCAL 中 编一程序 输入一个正整数N 将N分解成质因数幂的乘积形式 请知道的一定告诉下额
求初级pascal题目答案:输入正整数n(整型),求n!除以2013的余数(n!=1*2*3*….*n)
C语言.输入一个正整数n,求s=1+2+3+.n的和.如输入50输出1275输入1000输出500500
编写程序,输入正整数N,计算它的阶乘N!(N!=N*(N-1)*…*3*2*1)
编写程序,输入正整数n,计数它的阶乘n!(n!=n×(n-1)×.×3×2×1).