回 帖 发 新 帖 刷新版面

主题:pascal的一道问题,答出加30分

题目如下:
输入一个数,如果这个数是质数,则输出这个数;如果这个数是合数,则输出所有质因数。

回复列表 (共12个回复)

11 楼

刚接触的时候,我这种题也不会,呵呵,有点怀念!

12 楼

[quote]var
  n,i,j,k,l:integer;
function ss(n:integer):boolean;/判断素数
  begin
    if n=1 then
      begin
        ss:=false;exit;
      end;
    for j:=2 to n div 2 do
      if n mod j=0 then
        begin
          ss:=false;exit;
        end;
  end;
procedure print(n:integer);/如果是合数就输出它个质因数
  begin
    for i:=2 to n-1 do
      if (n mod i=0) and (ss(i)) then write(i,' ');/输出过程:列举数字首先能整除该数字,其次是质数
  end;
begin
  readln(n);/读入这个数字
  if ss(n) then
    writeln(n)
  else
    print(n);
end.

[/quote]
思路很清晰嘛

我来回复

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