#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
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;}
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
Alte întrebări interesante
Limba română,
8 ani în urmă
Fizică,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă