Cod sursa(job #1825554)

Utilizator borscalinCalin-Stefan Georgescu borscalin Data 9 decembrie 2016 13:22:28
Problema Pascal Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
#define RMAX 5000000

using namespace std;

int puteri[RMAX + 1];

int main() {
    freopen("pascal.in","r",stdin);
    freopen("pascal.out","w",stdout);
    int r,d,i,nr = 0,p,ta,x;
    scanf("%d%d",&r,&d);
    for (p=d;p<=r;p*=d)
        for (i=p;i<=r;i+=p)
            puteri[i]++;
    ta = 1;
    for (i=2; i<=r/2; i++) {
        x += puteri[r - i + 2] - puteri[i];
        nr += (x > 0) * 2;
    }
    if (r % 2 == 0) {
        x += puteri[r - i + 2] - puteri[i];
        nr += (x > 0);
    }
    printf("%d",nr);
    return 0;
}