Định nghĩa hàm f(x) là số lượng các ước dương của x. Ví dụ: - f(3) = 2 vì 3 có 2 ước là 1 và 3 - f(4) = 3 vì 4 có 3 ước là 1, 2, và 4 Cho dãy số nguyên dương gồm n phần tử a1, a2, ..., an (1 ≤ ai ≤ 109). Nhiệm vụ của bạn là hãy đếm trong dãy có bao nhiêu phần tử mà hàm f( ) của nó cho kết quả là một số lẻ. INPUT - Dòng 1 chứa một số nguyên dương n (1 ≤ n ≤ 100) - Dòng 2 chứa n số nguyên dương a1, a2, …, an (1 ≤ ai ≤ 109). OUTPUT - Một dòng duy nhất là số lượng các phần tử thỏa mãn yêu cầu của đề bài.

1 câu trả lời

Program BTT;
Uses crt;
Var A: array[1..1000] of longint;
    i,n,d: longint;

Function demuoc(a: longint): longint;
Var s: longint;
Begin
        s:=0;
        For i:=1 to a do
                If a mod i = 0 then inc(s);
        demuoc:=s;
End;

Begin
        Clrscr;
        Write('Nhap n: '); Readln(n);
        For i:=1 to n do
        Begin
                Write('A[',i,'] = ');
                Readln(A[i]);
        End;

        d:=0;
        For i:=1 to n do
                If demuoc(A[i]) mod 2 = 0 then inc(d);
        Write(d);
        Readln
End.

Câu hỏi trong lớp Xem thêm