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
n
numere citite vor fi naturale nenule și mai mici decât1.000.000.000
- numerele șirului sunt numerotate începând cu
1
- valoarea lui
p
este 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.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema intrebari:
#include <iostream>
using namespace std;
long long n, t, p, i, suma, s, x, a;
int main () {
cin>>n>>t>>p;
cin>>a;
suma = a;
for (i=2;i<=n;i++) {
cin>>x;
suma += x;
if (i <= p) {
if (t == 1 && x < a)
a = x;
if (t == 2 && x > a)
a = x;
}
}
s = 0;
if (t == 1) {
while (a!=0) {
s += a%10;
a /= 10;
}
} else {
for (i=1;i<=a/i;i++)
if (a%i == 0) {
s++;
if (i!=a/i)
s++;
}
}
cout<<s<<"\n"<<suma;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2745 intrebari
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2745 intrebari de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!