Cod sursa(job #35699)
Utilizator | Data | 22 martie 2007 12:50:38 | |
---|---|---|---|
Problema | Zero 2 | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
// Problema Zero 2
#include <stdio.h>
int main()
{
freopen( "zero2.out", "wt", stdout );
long int N, B, fac, k, i, j, p, nr;
freopen( "zero2.in" ,"rt", stdin );
for ( i=1; i<=10; i++ )
{
scanf( "%ld %ld", &N, &B );
nr = 0;
for( k=1; k<=N; k++ )
{
p = 0;
fac = k;
while( fac%B == 0 ) { p++; fac = fac/B; }
nr += p*(N-k+1);
j = B;
p = 0;
if( fac > 1 )
while( j%fac == 0 ) { p++; j = j/fac; }
nr += p;
}
printf( "%ld\n", nr );
}
fclose( stdin );
fclose( stdout );
return 0;
}