👤

Pentru un numar dat aflati suma divizorilor impari. Program C++ recursiv.

Răspuns :

C++:

#include <iostream>  

using namespace std;  

int main()

{

   int num, sum = 0;

   cin >> num;

   for(int i = 1; i <= num/2; i++)

   {

       if(i %2 != 0 && num % i == 0)

       sum+= i;

   }

   cout << sum;

}

Pascal:

var

 n, i, s: Integer;

begin

 Write('Un numar natural: ');

 Readln(n);

 Writeln('Divizorii impari: ');

 for i := 1 to n div 2 do

   if (Odd(i)) and (n mod i = 0) Then

   begin

     Inc(s, i);

     Write(i, ' ');

   end;

 Writeln;

 Writeln('Suma divizorilor impari: ', s);

end.

int suma(int n, int d)

{

 if(d==n) return n;

 else if(n%d==0 && d%2!=0)

return d+suma(n,d+1);

       else return suma(n,d+1);

}

int main()

{

 int n;

 cin>>n;

cout<<suma(n,1);

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