👤

2424 EasyRow
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
pls rapid


Răspuns :

#include <iostream>

using namespace std;

int main()

{

   int n, p=0;

   cin >> n;

   for(int i=1;i<=n;i++)

   {

       int no_div=0, j=1;

       for(j=1;j*j<i;j++)

           if(i%j==0)

               no_div+=2;

       if(j*j==i)

           ++no_div;

       p+=no_div;

   }

   cout << p;

   return 0;

}

#include <iostream>

using namespace std;

int nrdiv(int num)

{

   int nr = 0, j = 1;

   for(j = 1; j * j < num; ++j)

       if(num % j == 0)

        nr += 2;

   if(j * j == num)

       ++nr;

   return nr;

}

int main()

{

   int n, indtermen, xn = 1;

   cin >> n;

   for (indtermen = 2; indtermen <= n; ++indtermen)

       xn = xn + nrdiv(indtermen);

   cout << xn;

   return 0;

}


Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari