Pagini recente » Cod sursa (job #2409092) | Istoria paginii runda/biro_daily_quest_no.2 | Cod sursa (job #1452203) | Cod sursa (job #1454704) | Cod sursa (job #179458)
Cod sursa(job #179458)
#include<stdio.h>
#include<iostream.h>
#define RMAX 5000001
/// f: R / (C*(R-C))
long r,aux,i,j,var,sol;
int d,fac1[RMAX],fac2[RMAX];
void putere_f(int &x, int d)
{
while( i/d > 0 )
{
x += i/d;
d *= d; }
}
main()
{freopen("pascal.in","r",stdin);
freopen("pascal.out","w",stdout);
scanf("%ld %d",&r,&d);
if(d==4) for(i=1;i<=r;i++) putere_f(fac1[i], 2);
if(d==6) { for(i=1;i<=r;i++) putere_f(fac1[i], 2);
for(i=1;i<=r;i++) putere_f(fac2[i], 3); }
if(d!=6 && d!=4)
for(i=1;i<=r;i++) putere_f(fac1[i], d);
for(i=0; i<=r; i++)
{
if(d==4)
if( fac1[r] - fac1[r-i] - fac1[i] > 1 ) sol++;
if(d==6)
if( (fac1[r] - fac1[r-i] - fac1[i] > 0)
&& (fac2[r] - fac2[r-i] - fac2[i] > 0) ) sol++;
if(d!=6 && d!=4)
if( fac1[r] - fac1[r-i] - fac1[i] > 0 ) sol++;
}
printf("%ld\n",sol); return 0; }