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

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

Răspunsuri la întrebare

Răspuns de grigore2018
0

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.

Răspuns de andrada1212
1

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;

}

Alte întrebări interesante