回 帖 发 新 帖 刷新版面

主题:大家来帮帮我吧!!!!!!

输入一个大于1的自然数,打印出它的质因数解式。如输入75则打印:75=3*5*5
请帮帮我!!!!!!!!
我十二分感谢!!!

回复列表 (共4个回复)

沙发

program zhs (input,output);
  var
    x,y,i,n:integer;
  begin
    read(x);
    write(x:3,'=');
    y:=2;
    n:=1;
    repeat
      if x mod y = 0
        then begin
               x:=x div y;
               if n <> 1
                 then write('*');
               write(y:2);
               n:=2
             end
        else y:=y+1
    until x=1;
    writeln
  end.

板凳

program lt;
var n,s,i:integer;
begin
  write('N=');readln(n);
  s:=n;
  for i:=2 to n do
  begin
    repeat
      if s mod i=0 then begin s:=trunc(s/i);
         write(i);if s<>1 then write('*'); end;
    until (s mod i<>0);
  end;
  writeln;
end.

3 楼

program lt;
var n,s,i:integer;
begin
  write('N=');readln(n);
  s:=n;
  for i:=2 to n do
  begin
    repeat
      if s mod i=0 then begin s:=trunc(s/i);
         write(i);if s<>1 then write('*'); end;
    until (s mod i<>0);
  end;
  writeln;
end.

4 楼

算法效率太低!循环只要到根号n就可以了

我来回复

您尚未登录,请登录后再回复。点此登录或注册