Bài 3: Viết chương trình từ bàn phím số nguyên dương n (n<=100) và dãy A gồm n phần tử số nguyên A1, A2……An. a/ Hãy đếm xem trong dãy có bao nhiêu số

Bài 3: Viết chương trình từ bàn phím số nguyên dương n (n<=100) và dãy A gồm n phần tử số nguyên A1, A2……An. a/ Hãy đếm xem trong dãy có bao nhiêu số nguyên tố trong dãy? b/ Hãy tính tổng các số hoàn hảo có mặt trong dãy số? Yêu cầu: Viết chương trình con nhập dãy số A từ bàn phím.

0 bình luận về “Bài 3: Viết chương trình từ bàn phím số nguyên dương n (n<=100) và dãy A gồm n phần tử số nguyên A1, A2……An. a/ Hãy đếm xem trong dãy có bao nhiêu số”

  1. Program Mang;
    Uses crt;
    Var A: array[1..100000] of longint;
        n, cnt, sum, i: longint;

    Function is_Prime(a: longint): boolean;
    Var i: longint;
    Begin
            If a < 2 then exit(false);
            For i:=2 to trunc(sqrt(a)) do
                    If a mod i = 0 then exit(false);
            exit(true);
    End;

    Function isHH(a: longint): boolean;
    Var ans, i: longint;
    Begin
            ans := 0;
            For i:=1 to a div 2 do
                    If a mod i = 0 then ans := ans + i;
            If ans = a then exit(true);
            exit(false);
    End;

    Begin
            Clrscr;
            Write(‘Nhap n: ‘); Readln(n);
            cnt := 0;
            sum := 0;
            For i:=1 to n do
            Begin
                    Write(‘A[‘,i,’] = ‘);
                    Readln(A[i]);
                    If is_Prime(A[i]) then inc(cnt);
                    If isHH(A[i]) then sum := sum + A[i];
            End;

            Writeln(‘Co ‘,cnt,’ so nguyen to’);
            Write(‘Tong cac so hoan hao la ‘,sum);

            Readln
    End.

    Bình luận
  2. uses crt;
    var n,i,count,res:longint;
         a:array[1..100]of longint;
    function isPrimeNumber(n:longint):boolean;
    var i:longint;
    begin
        if n<2 then exit(false);
        for i:=2 to trunc(sqrt(n)) do
            if n mod i=0 then exit(false);
        exit(true);
    end;
    function isPerfectNumber(n:longint):boolean;
    var i,res:longint;
    begin
        res:=0;
        for i:=1 to n div 2 do
            if n mod i=0 then inc(res,i);
        if res=n then exit(true) else exit(false);
    end;
    begin
    clrscr;
        readln(n);
        for i:=1 to n do
            begin
                readln(a[i]);
                if isPrimeNumber(a[i]) then inc(count);
                if isPerfectNumber(a[i]) then inc(res,a[i]);
            end;
        writeln(count);
        writeln(res);
    readln;
    end.
    //Harry Le

    Bình luận

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