Informatică, întrebare adresată de andreinecula001, 8 ani în urmă

am nevoie la info rapid de problema cu cerinta asta: 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.Va rog

Răspunsuri la întrebare

Răspuns de pmarian98
1

#include <iostream>

using namespace std;

int nrdiv(int num)

{

   int nr=0, j;

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

       if (num%j==0)

           nr+=2;

   if (j*j==num)

       ++nr;

   return nr;

   //algoritm determinare nr de divizori

}

int main()

{

   int n,i,xn=1;

   cin>>n;

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

       xn+=nrdiv(i);

       //termenul de pe poziția i (i > 1)

       //este egal cu cel precedent plus numărul de divizori ai lui i

   cout<<xn;

   //exemplu aveam 1 2 3 4 5 sa zicem

   //devine 1 3 5 8

   //2 devine 2+1 el plus nr de ai divizorii lui 1  

   //s.a.m.d

   return 0;

}


pmarian98: Sper ca am fost de ajutor mie imi da 100% pe pbinfo
pmarian98: :D
Alte întrebări interesante