Pagini recente » Cod sursa (job #1975440) | Cod sursa (job #3238511) | Cod sursa (job #2165282) | Cod sursa (job #3005088) | Cod sursa (job #32405)
Cod sursa(job #32405)
#include<iostream.h>
#include<fstream.h>
main()
{
long long s,s2,s3,d,k,p,delta,ij,x,i,j,n,m;
fstream f("pascal.in",ios::in);
fstream g("pascal.out",ios::out);
f>>i;
f>>d;
if((d==2)||(d==3)||(d==5))
{
j=0;
delta=0;
do{
ij=i-j;
s=0;p=d;
do{
s+=i/p;
p*=d;
}while(p<=i);
s2=0;p=d;
do{
s2+=ij/p;
p*=d;
}while(p<=ij);
p=d;s3=0;
do{
s3+=j/p;
p*=d;
}while(p<=j);
s2+=s3;
s-=s2;
if(s>=1)delta++;
j++;
}while(j<=i);
}
if(d==4)
{
j=0;
delta=0;
do{
ij=i-j;
s=0;p=d;
do{
s+=i/p;
p*=d;
}while(p<=i);
s2=0;p=d;
do{
s2+=ij/p;
p*=d;
}while(p<=ij);
p=d;s3=0;
do{
s3+=j/p;
p*=d;
}while(p<=j);
s2+=s3;
s-=s2;
if(s>=2)delta++;
j++;
}while(j<=i);
}
if(d==6)
{
j=0;
delta=0;
do{
ij=i-j;
s=0;p=2;
do{
s+=i/p;
p*=2;
}while(p<=i);
s2=0;p=2;
do{
s2+=ij/p;
p*=2;
}while(p<=ij);
p=2;s3=0;
do{
s3+=j/p;
p*=2;
}while(p<=j);
s2+=s3;
s-=s2;
x=s;
s=0;p=3;
do{
s+=i/p;
p*=3;
}while(p<=i);
s2=0;p=3;
do{
s2+=ij/p;
p*=3;
}while(p<=ij);
p=3;s3=0;
do{
s3+=j/p;
p*=3;
}while(p<=j);
s2+=s3;
s-=s2;
if((s>=1)&&(x>=1))delta++;
j++;
}while(j<=i);
}
g<<delta;
return 0;
}