👤

147. Se citesc mai multe numere naturale până se citeşte un număr negativ. Afişaţi ultimul număr care are cei mai puţini divizori primi.

Răspuns :

#include <iostream>
using namespace std;
int main()
{   
int x;
unsigned nr,nrmin,c,i,j;   
bool k;   
cout<<"x=";cin>>x;   
nrmin=x;   
while (x>=0)   
{       
  nr=0;       
  for (i=2;i<=x/2;i++)       
   {           
    k=1;           
    if (x%i==0)               
      for (j=2;j<=i/2;j++)                   
        if (i%j==0)                       
          k=0;           
  if (k==1)               
    nr++;       
  }       
  if (nrmin>=nr)       
  {           
    nrmin=nr;           
    c=x;       
  }       
cout<<"x=";cin>>x;   
}   
cout<<c;   
return 0;
}