主题:pascal的一道问题,答出加30分
guozhushenyu
[专家分:30] 发布于 2007-05-27 10:39:00
题目如下:
输入一个数,如果这个数是质数,则输出这个数;如果这个数是合数,则输出所有质因数。
回复列表 (共12个回复)
11 楼
晴天的微笑 [专家分:80] 发布于 2008-03-24 13:12:00
刚接触的时候,我这种题也不会,呵呵,有点怀念!
12 楼
sw81500345 [专家分:0] 发布于 2008-03-27 22:10:00
[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]
思路很清晰嘛
我来回复