fbpx

Problema #2420 – EasyRow – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se consideră următorul șir de numere naturale: 1 3 5 8 10 14 16..., în care termenul de pe poziția i (i > 1) este egal cu cel precedent plus numărul de divizori ai lui i. Afișați al n-lea termen.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran numărul x, reprezentând al n-lea termen din șir.

Restricții și precizări

  • 1 ≤ n ≤ 100.000

Exemplu

Intrare

5

Ieșire

10
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int sum=0;
    for(int i = 2 ; i < n ; ++i)
    {
        sum+=n/i;    
    }
    if(n==1)
        cout << n;
    else
    cout << sum+n+1;
    return 0;    
}
Comentarii

S-ar putea sa iti placa