viết chương trình nhập vào từ bàn phím số nguyên dương n . kiểm tra xem n có phải số hoàn hảo không

viết chương trình nhập vào từ bàn phím số nguyên dương n . kiểm tra xem n có phải số hoàn hảo không

0 bình luận về “viết chương trình nhập vào từ bàn phím số nguyên dương n . kiểm tra xem n có phải số hoàn hảo không”

  1. Cách 1: Ko dùng hàm 

    Program BTH;
    uses crt;
    var n:longint;
    function kt(n:longint):boolean;
            var i,s:longint;
            Begin
                    s:=0;
                    write(‘Cac uoc cua ‘,n,’ la: ‘);
                    For i:=1 to (n div 2) do
                    Begin
                            If n mod i=0 then s:=s+i;
                            write(i,’ ‘);
                    end;
                    write(n);
                    writeln;
                    If n=s then kt:=true else kt:=false;
            end;
    Begin
            clrscr;
            write(‘Nhap n: ‘);readln(n);
            If kt(n)=true then writeln(n,’ la so hoan thien’)
            else writeln(n,’ khong phai la so hoan thien’);
            readln;
    end.

    Cách 2: Dùng Hàm 

    Program BTH;
    uses crt;
    var n:longint;
    function kt(n:longint):boolean;
            var i,s,k:longint;
                    a:array[1..10000] of longint;
            Begin
                    s:=0;
                    k:=0;
                    write(‘Cac uoc cua ‘,n,’ la: ‘);
                    For i:=1 to (n div 2) do
                    Begin
                            If n mod i=0 then
                            Begin
                                    s:=s+i;
                                    k:=k+1;
                                    a[k]:=i;
                            end;
                    end;
                    a[k+1]:=n;
                    For i:=1 to k+1 do
                    write(a[i],’ ‘);
                    writeln;
                    If n=s then kt:=true else kt:=false;
            end;
    Begin
            clrscr;
            write(‘Nhap n: ‘);readln(n);
            If kt(n)=true then writeln(n,’ la so hoan thien’)
            else writeln(n,’ khong phai la so hoan thien’);
            readln;
    end.

    Bình luận
  2. Program Hotboy;

    Uses crt;

    Var n,i,s : longint;

    Begin

    Write(‘nhap so n’); 

    Readln(n);

    S:=0; 

    For i:=1 to n-1 do 

    If (n mod i=0) then s:=s+i; 

    If s=n then write(n,’ la so hoan chinh’) else write(n,’khong phai la so hoan chinh’); 

    Readln

    End.

    Bình luận

Viết một bình luận