Pagini recente » Cod sursa (job #1141525) | Cod sursa (job #540196) | Cod sursa (job #2101784) | Cod sursa (job #898133) | Cod sursa (job #2691076)
#include <stdio.h>
#define MOD 9901
long long caca( long long n, long long q )
{
long long d = 2, p, s = 1, suma;
while( n > 1 ){
suma = p = 1;
//printf( "%lld\n", p );
while( n % d == 0 ){
n /= d;
p *= d;
p %= MOD;
suma += p;
suma %= MOD;
//printf( "%lld\n", p );
}
if( p > 1 ){
for( int i = 0; i < q - 1; i++ ){
p *= d;
p %= MOD;
suma += p;
suma %= MOD;
//printf( "%lld\n", p );
}
s = ( s * suma ) % MOD;
}
++d;
if( d > 2 )
++d;
if( n > 1 && d * d >= n )
d = n;
}
return s;
}
int main()
{
long long n, p;
FILE *fin = fopen( "sumdiv.in", "r" );
fscanf( fin, "%lld %lld", &n, &p );
fclose( fin );
FILE *fout = fopen( "sumdiv.out", "w" );
fprintf( fout, "%lld", caca( n, p ) );
fclose( fout );
return 0;
}