#389 pbinfo c++
Cerinţa
Se citesc două numere naturale a și b. Să se determine cel mai mic și cel mai mare număr din intervalul [a,b] cu număr maxim de divizori pari şi numărul maxim de divizori pari.
Date de intrare
Programul citește de la tastatură numerele a b.
Date de ieşire
Programul afișează pe ecran numerele NRD MIN MAX, separate prin exact un spațiu , reprezentând numărul maxim de divizori pari ai numerelor din [a,b], cel mai mic şi respectiv cel mai mare număr din interval cu număr maxim de divizori pari.
Restricţii şi precizări
0 < a < b < 1.000.000.000
b-a ≤ 1000
Exemplu
Intrare
10 20
Ieșire
4 12 20
Explicație
Numărul maxim de divizori pari pentru numerele din intervalul [10,20] este 4. Numerele din interval cu 4 divizori pari sunt 12, 16 şi 20.
Răspunsuri la întrebare
Răspuns de
2
#include<iostream>#include<cmath>int a,b;int nrdiv(int n){ int s=0; for(int i=1;i*i<n;++i) if(n%i==0) { if(i%2==0) s++; if((n/i)%2==0) s++; } if(float(sqrt(n))==int(sqrt(n)) && int(sqrt(n))%2==0) s++; return s;}int main(){ std::cin>>a>>b; int nrd=nrdiv(a); int minn=a; int maxx=b; for(int i=a+1;i<=b;++i) { int y; y=nrdiv(i); if(y>nrd) { nrd=y; minn=i; maxx=i; } else if(y==nrd) { maxx=i; } } std::cout<<nrd<<' '<<minn<<' '<<maxx;}
CancerousKiddo:
https://pastebin.com/mqatKSSS
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Chimie,
9 ani în urmă
Engleza,
9 ani în urmă