Soluţii propuse - limbajul C++


Soluţii pentru problemele propuse

  •  Soluţii  •  
Enunţul problemei

Numerele puternice sunt acele numere naturale care au numărul divizorilor mai mare decât numărul divizorilor oricărui număr natural mai mic decât numărul respectiv. Scrieţi un program care verifică dacă un număr n este puternic.
#include<iostream>
using namespace std;
int main()
{
    
int n,i,kn=1,ki,c,d=2;
    
cout<<"n=";cin>>n;
    
c=n;
    
while(d<=n)
    
{
        
if(n%d==0)
            
kn++;
        
d++;
    
}

 
    
cout<<"Numarul "<<c<<" are ";
    
cout<<kn<<" divizori."<<endl;
    
int ok=1;
    
for(i=c-1;i>=2;i--)
    
{
        
ki=1;d=2;
        
while(d<=i)
        
{
            
if(i%d==0)
            
ki++;
            
d++;
        
}
        
if(kn<ki)
        
{
        
cout<<"Numarul nu este puternic";
        
cout<<" deoarece "<<i<<" are ";
        
cout<<ki<<" divizori.";ok=0;
        
break;
        
}
    
}
    
if(ok==1)
        {
    cout<<"Numarul "<<c;
    
cout<<" este puternic.";  }
}

 

   Informatică - clasa a IX-a şi clasa a X-a

 prof.Ţopa Robert