{ badperfect.p Written, after a fashion, by Jeff Ondich on 1/20/97 Problems, problems, problems. At least the indenting is consistent. } program badperfect(output); var i, sum, theNumber : integer; function IsPerfect( n : integer ) : boolean; begin sum := 0; for i := 1 to n-1 do begin if n div i = 0 then sum := sum + i end; if sum = n then IsPerfect := true end; begin write( 'Type an integer, if you please: ' ); readln( theNumber ); if IsPerfect( theNumber ) then writeln( 'Perfect!' ) else writeln( 'Not perfect, but who is?' ) end.