fbpx

Problema #2858 – pv – Rezolvari PBInfo

de Mihai-Alexandru

Se consideră un șir a1, a2, …, an de numere naturale.

Cerințe

  • Să se afișeze elementele șirului de la dreapta la stânga.
  • Să se calculeze suma valorilor pare din șir.
  • Să se determine suma valorilor aflate pe poziții pare în șir.
  • Să se determine numărul numerelor din șir care sunt divizibile cu 10.
  • Să se determine suma numerelor divizibile cu 3 și aflate pe poziții impare.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran pe prima linie elementele șirului de la dreapta la stânga. Pe linia a doua se va afișa un singur număr reprezentând suma valorilor pare. Pe linia a treia se va afișa un singur număr reprezentând suma valorilor aflate pe poziții pare în șir. Pe linia a patra se va afișa un singur număr reprezentând numărul numerelor din șir care sunt divizibile cu 10. Pe linia a cincea se va afișa un singur număr reprezentând suma numerelor divizibile cu 3 și aflate pe poziții impare.

Restricții și precizări

  • 1 ≤ n ≤ 100
  • 0 ≤ ai ≤ 100, pentru orice i=1..n.

Exemplu

Intrare

10
1 2 3 4 5 6 7 8 9 10

Ieșire

10 9 8 7 6 5 4 3 2 1 
30
30
1
12
#include <bits/stdc++.h>
using namespace std;
int n , a[101] , s , cnt;
int main()
{
    cin >> n;
    for(int i = 1 ; i <= n ; ++i) cin >> a[i];
    for(int i = n ; i >= 1 ; --i) cout << a[i] << ' ';
    cout << '\n';
    for(int i = 1 ; i <= n ; ++i)
        if(a[i] % 2 == 0) s += a[i];
    cout << s << '\n';
    s = 0;
    for(int i = 2 ; i <= n ; i += 2) s += a[i];
    cout << s << '\n';
    for(int i = 1 ; i <= n ; ++i)
        if(a[i] % 10 == 0) cnt++;
    cout << cnt << '\n';
    s = 0;
    for(int i = 1 ; i <= n ; i+=2)
        if(a[i] % 3 == 0) s += a[i];
    cout << s;
    return 0;
}
Comentarii

S-ar putea sa iti placa