fbpx

Problema #1960 – Perfecte – Rezolvari PBInfo

de Mihai-Alexandru

Un număr natural nenul se numește perfect dacă este egal cu suma divizorilor săi naturali strict mai mici decât el.

Exemplu

Intrare

5
28 7 8 9 6

Ieșire

1 0 0 0 1

Explicație

28 și 6 sunt numere perfecte.

#include <bits/stdc++.h>
using namespace std;
unsigned long long perf[8]={6, 28, 496, 8128, 33550336, 8589869056, 137438691328,2305843008139952128};
int a[1001];
int main()
{
    int n;
    unsigned long long x;
    cin >> n;
    for(int i = 1 ; i <= n ; i++)
    {
        cin >> x;
        int ok = 0;
        for(int j = 0 ; j <= 8 ; j++)
            if(x==perf[j]) ok=1;
            if(ok==1) a[i]=1;
            else a[i]=0;
    }
    for(int i = 1 ; i <= n ; i++)
        cout << a[i] << " ";
}
Comentarii

S-ar putea sa iti placa