陈克正是真是假 新闻:素数连乘

来源:百度文库 编辑:高考问答 时间:2024/04/29 03:28:31
求此题的pascal程序,各位帮帮忙:从键盘输入一个大于3的自然数,将其用素数连乘的形式打印出来,例如:25=5*5 120=2*2*2*3*5

不需要列素数表,整除一定是素数,如果是合数早就被前面的素数整除掉了.
Program fenjie;
var
x,i,x2,counter:integer;
begin
write(x,'=');
x2:=x;
counter:=0;
i:=2;
repeat
if x2 div i then
begin
inc(counter);
x2:=x2 div i;
if counter>1 then
write('*');
write(i)
end
else
inc(i)
until x2=1;
readln
end.

来这里求别人写程序是不现实的,大家都很忙
给你个思路
先算出素数表(很多书上都有,基础算法),或手工给出
从最小的素数开始循环