Cerința
Se dau n numere naturale. Dându-se totodată un număr p, apare o intrebare care poate fi de unul dintre următoarele două feluri posibile: care este suma cifrelor valorii minime dintre primele p ale șirului (tipul 1) respectiv, care este numărul de divizori ai valorii maxime dintre primele p elemente ale șirului (tipul 2).
Date de intrare
Programul citește de la tastatură mai întâi numerele n, t și p iar apoi n numere naturale (elementele șirului).
Date de ieșire
Dacă valoarea t, este 1, programul va afișa pe ecran răspunsul la cerința de tipul 1.
Cerința
Se dau n numere naturale. Dându-se totodată un număr p, apare o intrebare care poate fi de unul dintre următoarele două feluri posibile: care este suma cifrelor valorii minime dintre primele p ale șirului (tipul 1) respectiv, care este numărul de divizori ai valorii maxime dintre primele p elemente ale șirului (tipul 2).
Date de intrare
Programul citește de la tastatură mai întâi numerele n, t și p iar apoi n numere naturale (elementele șirului).
Date de ieșire
Dacă valoarea t, este 1, programul va afișa pe ecran răspunsul la cerința de tipul 1.
Dacă valoarea t, este 2, programul va afișa pe ecran răspunsul la cerința de tipul 2.
Indiferent de tipul cerinței, pe linia următoare se va afișa suma elementelor șirului.
Restricții și precizări
1 ≤ n ≤ 10- cele
nnumere citite vor fi naturale nenule și mai mici decât1.000.000.000 - numerele șirului sunt numerotate începând cu
1 - valoarea lui
peste cuprinsă între1șin, inclusiv 1 ≤ t ≤ 2
Exemple:
Intrare
6 1 3 14 13 16 22 15 1
Ieșire
4 81
Explicație
Este vorba despre o interogare de tipul 1 și minimul dintre primele trei elemente ale șirului este 13 iar suma cifrelor sale este 4.
Intrare
6 2 3 14 13 16 22 15 1
Ieșire
5 81
Explicație
Este vorba despre o interogare de tipul 2 și maximul dintre primele trei elemente ale șirului este 16 iar numărul său de divizori este 5.
#include <bits/stdc++.h>
using namespace std;
long long int a[11] , sum;
int nrdiv(int n)
{
int cnt = 0;
for(int i = 1 ; i * i <= n ; ++i)
{
if(n % i == 0)
cnt+=2;
if(i * i == n)
cnt--;
}
return cnt;
}
int main()
{
int n , t , p;
cin >> n >> t >> p;
for(int i = 1 ; i <= n ; ++i)
cin >> a[i] , sum += a[i];
int min = 1000000000;
for(int i = 1 ; i <= p ; ++i)
if(a[i] < min)
min = a[i];
int max = 0;
for(int i = 1 ; i <= p ; ++i)
if(a[i] > max)
max=a[i];
if(t == 1)
{
int s = 0;
while(min)
{
s+=min%10;
min/=10;
}
cout << s << endl << sum;
}
else
{
cout<< nrdiv(max) << endl << sum;
}
return 0;
}