Pagini recente » Cod sursa (job #525729) | Cod sursa (job #1854917) | Cod sursa (job #1745517) | Cod sursa (job #3227653) | Cod sursa (job #3222578)
#include <fstream>
#include <iostream>
#include <climits>
#include <algorithm>
#include <vector>
#include <iomanip>
#include <cmath>
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
const int LMAX = 5005;
bool ciur[LMAX];
int main() {
int c, d, i, j;
int sol, s1, s2;
fin>>c>>d;
c--;
d--;
sol = min(c, d) - 1;
for (i = 2; i <= min(c, d); i++) {
s1 = s2 = 0;
if (ciur[i] == 0) { //daca nr este prim
for (j = i; j <= max(c, d); j = j+i) {
ciur[j] = 1;
if (j <= min(c, d)) { //admite inversa
s1++;
}
else {
s2++;
}
}
}
//s1 numere mai mici decat c si d, s2 numere intre c si d
fout<<s1<<" "<<s2<<endl;
sol = sol + s1*s2 + s1*(s1 - 1);
}
fout<<c*d - sol;
fin.close();
fout.close();
return 0;
}