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

afisati toti divizori propri in ordine descrescatoare a unui numar dat. Program c++ recursiv. Va rog mult ajutati-ma.

Răspunsuri la întrebare

Răspuns de grigore2018
0

Pascal:

var

 i,s:integer;

begin

 writeln('Numar:');

 readln(s);

 for i:=s downto 1 do

   if s mod i = 0  then

     write(i,' ');

 writeln

end.

C++:

#include<iostream>

int main()

{

   int N;

   std::cin>>N;

   for(size_t i=N; i>0; i--)

       if(N%i==0)

           std::cout<<i<<" ";

   return 0;

}


boiustef: era necesară recursia...
boiustef: Grigore, cunoşti recursia?
grigore2018: nu
boiustef: Divizorii lui 12 sunt:1, 2,3, 4,6, 12.
Divizorii improprii:1, 12
Divizorii proprii:2, 3,4, 6
Răspuns de boiustef
0

#include <iostream>

using namespace std;

void afisare(int m, int d)

{

   if (d==1) cout << " ";

   else

   {

       if (m%d==0)

       {

          cout << d << " ";

        }

       afisare(m, d-1);

   }

}

int main()

{

   int n;

   cout << "n="; cin >> n;

   cout << "divizorii proprii: ";

   afisare(n,n-1);

}

Alte întrebări interesante