fbpx

Problema #1550 – DivFactorial – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se da un vector cu n elemente. Sa se afișeze pe ecran elementele din vector care divid factorialul numărului de elemente n.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Programul va afișa pe ecran elementele din vector care divid factorialul numărului de elemente n.

Restricții și precizări

  • 1 ≤ n ≤ 12
  • cele n numere citite vor fi mai mici decât 1.000.000
  • pentru toate testele va exista cel puțin un element al vectorului care divide n!

Exemplu

Intrare

5
16 3 71 30 25

Ieșire

3 30 

Explicație

Factorialul numărului de elemente n este 120.Elementele din vector care îl divid pe 120 sunt 3 și 30.

#include <bits/stdc++.h>

using namespace std;
int fac(int n)
{
    int x=1;
    for(int i=2;i<=n;i++) x=x*i;
    return x;
}
int main()
{
    long long n,a[1001],v[1001];
    cin >> n ;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++)
    {
            if(fac(n)%a[i]==0) cout<<a[i]<< " ";
    }
    return 0;

}
Comentarii

S-ar putea sa iti placa