Pagini recente » Cod sursa (job #1924229) | Cod sursa (job #2408098) | Cod sursa (job #3286898) | Cod sursa (job #1890517) | Cod sursa (job #1798627)
#include <iostream>
#include <algorithm>
#include <fstream>
#include <cmath>
#include <string>
#include <vector>
using namespace std;
int n;
bool numz[1000002];
vector<int> prime;
void ciur(int N){
for (int i = 2; i<=1000002; i++){
if (numz[i] == 0){
for (int d = i+i; d<=1000002; d+=i){
numz[d] = 1;
};
prime.push_back(i);
};
};
}
int getNumOfDivs(int n){
int nOfDvs(1);
int cnt(0);
for (int i = 0; i <prime.size() && prime[i] * prime[i] <= n; i++){
cnt = 0;
while (n % prime[i] == 0 && n != 1){
n /= prime[i];
cnt++;
};
if (cnt != 0){
nOfDvs *= (cnt+1);
};
};
if (n > 1) nOfDvs *= 2;
return nOfDvs;
}
int main() {
ifstream inFile("maxd.in");
ofstream outFile("maxd.out");
long long a, b, maxdivs(0);
long minnr(2000000);
inFile>>a>>b;
ciur(b);
int divvz;
for (int q = a; q <= b; q++){
divvz = getNumOfDivs(q);
if (divvz > maxdivs) maxdivs = divvz;
};
int contor(0);
for (int d = a; d <= b; d++){
if (getNumOfDivs(d) == maxdivs){
if (d < minnr){
minnr = d;
};
contor++;
};
};
outFile<<minnr<<" "<<divvz<<" "<<contor;
return 0;
}