Pagini recente » Cod sursa (job #2823419) | Cod sursa (job #1816625) | Cod sursa (job #2315321) | Cod sursa (job #1324313) | Cod sursa (job #928342)
Cod sursa(job #928342)
#include <iostream>
#include <fstream>
using namespace std;
#define Nmax 5000005
int R, S, D, N2, N3, N5;
int Nr2[Nmax], Nr3[Nmax], Nr5[Nmax];
void citire(){
ifstream f("pascal.in");
f >> R >> D;
f.close();
}
void afis(){
ofstream g("pascal.out");
g << S << "\n";
g.close();
}
void rezolva(){
for ( int i = 1; i <= R; ++i ) {
if ( i % 2 == 0 )
Nr2[i] = Nr2[i / 2] + 1;
if ( i % 3 == 0 )
Nr3[i] = Nr3[i / 3] + 1;
if ( i % 5 == 0 )
Nr5[i] = Nr5[i / 5] + 1;
}
for (int i = 1; i <= R; ++i) {
N2 = N2 - Nr2[i] + Nr2[R - i + 1];
N3 = N3 - Nr3[i] + Nr3[R - i + 1];
N5 = N5 - Nr5[i] + Nr5[R - i + 1];
switch( D ){
case 2:
if ( N2 )
S++;
break;
case 3:
if ( N3 )
S++;
break;
case 4:
if ( N2 > 1 )
S++;
break;
case 5:
if ( N5 )
S++;
break;
case 6:
if ( N2 && N3 )
S++;
break;
default: break;
}
}
}
int main(){
citire();
rezolva();
afis();
return 0;
}