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

#389 DivizoriPariInterval
problema de pe pbinfo

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.

va rog mult ajutati-ma

Răspunsuri la întrebare

Răspuns de RSTH
3
#include <iostream>using namespace std;
int main(){ int d, a, b, nrdivmax=-1, max ,min, cc, C = 0; cin >> a >> b; if(a%2==1) a++; for(int n=a;n<=b;n+=2){ C = 0; int d2 = 0; int m = n; while(m%2 == 0) m /= 2, d2++; for(d=1 ; d*d<m ; d+=2) if(n % d == 0) C +=2; if(d * d == n) C ++; C *= d2; if(C>nrdivmax) nrdivmax = C, min = max = n, cc = 1; else if(C == nrdivmax) max = n, cc++; } cout << nrdivmax << " " << min << " " << max;
return 0;}

florypq: nu inteleg nimic
RSTH: Alta rezolvare mai simpla nu stiu...imi pare rau
Alte întrebări interesante