uses crt; Var n,i:integer; {CT con} function SHT(n:integer):boolean; var i,s,k:integer; begin S:=0; for i:=1 to (n-1) do if n mod i =0 then S:=S+i; if S=n then SHT:=true else SHT:=false; end; {CT chinh} begin clrscr; write('Tim cac so hoan thien <=');readln(n); For i:=1 to n do if SHT(i) then write(' ',i); readln; end.
Nếu muốn kiểm tra số đó có phải hoàn thiện ko thì chỉ dùng chương trình con
Fri Dec 11, 2009 11:44 pm
Thành Viên Danh Dự
hecator
Giới tính :
Join : 07/11/2009
Bài gửi : 513
Thú cưng .:
Tiêu đề: Re: Tìm số hoàn thiện (BT Pascal)
chưa học chương trình con nên mình không biết bình luận gì còn đây là bài của mình học xong bài 7 ứng dụng luôn
Code:
Program timsohoanhao; uses crt; Var i,n,k,s,dem:integer; begin clrscr; writeln('Cac so hoan hao nho hon N la: '); write('nhap vao N ='); readln(n); writeln('so hoan hao la nhung so sau'); for k:=1 to n-1 do begin s:=0; For i:=1 to k-1 do If (k mod i) = 0 then s:=s+i; If s=k then begin writeln(s); dem:=dem+1; end; end; If dem=0 then write('Ko co so hoan hao') else write('Co tat ca ',dem,' so hoan hao nho hon ',N); readln; end.