Viết chương trình tìm số hoàn thiện?

Viết chương trình tìm số hoàn thiện?

0 bình luận về “Viết chương trình tìm số hoàn thiện?”

  1. Về định nghĩa thì ta có: Số hoàn thiện (hay còn gọi là số hoàn chỉnh, số hoàn hảo hoặc số hoàn thành) là một số nguyên dương mà tổng các ước nguyên dương của nó (số nguyên dương chia hết cho nó) bằng chính nó.

    Còn thuật toán thì ta có các bước:

    Bước 1: Nhập vào n từ bàn phím

    Bước 2: Tính tổng S các số mà n chia hết trong khoảng [1..n-1]

    Bước 3: Nếu S = n, số n là số hoàn thiện

    * Giờ đến bước viết chương trình nào :3

    Cách 1:

    program cach1;

    uses crt;
    var n,i,s : integer;
    begin clrscr;
    write(‘Nhap so n:’); readln(n);
    For i:=1 to n-1 do
    if n mod i =0 then s:=s+i;
    if n=s then write(n,’ la so hoan thien ‘) else write(n,’khong la so hoan thien’);
    readln
    end.

    Cách 2:

    Program cach2;
    var n: real;
    Function kiemtra(x:integer):boolean;
    var tam,i:integer;
    begin
    tam:=0; kiemtra:=false;
    for i:= 1 to (x div 2) do
    if x mod i = 0 then tam:=tam+i;
    if tam = x then kiemtra:=true;

    end;
    begin
    writeln(‘Nhap so can kiem tra ‘);
    readln(n);
    if kiemtra(n) then writeln(‘So ‘,n,’ la so hoan thien’) else writeln(‘So ‘,n,’ khong phai la so hoan thien’);
    readln;
    end.

    Mình biết cái này là nâng cao nên có hơi khó hiểu nên bạn chịu khó nha

    CHÚC BẠN HỌC TỐT ^_^

    Bình luận
  2. uses crt;
    var n,i,s : integer;
    begin clrscr;
    write(‘Nhap so n:’); readln(n);
    For i:=1 to n-1 do
    if n mod i =0 then s:=s+i;
    if n=s then write(n,’ la so hoan thien ‘) else write(n,’khong la so hoan thien’);
    readln
    end.

    Bình luận

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