👤

Determinati cel mai mic numar <=n care are un numar maxim de divizori proprii (divizorul
propriu este diferit de 1 si de numarul insusi). Exemplu:
Pentru n=20 se obtine numarul 12 (numerele 18 si 20 au acelasi numar de divizori proprii).
in c++


Răspuns :

#include<iostream>
using namespace std;
int main()
{
   int n,d,x=4,div=0,max,rez;     //4 este primul numar care are divizori proprii (pe 2)
   cout<<"Pana la ce numar sa merg : ";
   cin>>n;
   while(x<=n){
             div=0;
             for(d=2;d<=x/2;d++){
                   if(x%d==0){
                      div++;
                   }
             }
             if(div>max){
                max=div;
                rez=x;
             }
   }
   cout<<"Numarul cu cei mai multi divizori proprii este "<<rez<<" cu "<<max<<" divizori proprii.";
}