Mai intai trebuie sa te autentifici.
Cod sursa(job #509858)
| Utilizator | Data | 11 decembrie 2010 21:11:32 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.86 kb |
#include <fstream>
#include <iostream>
using namespace std ;
ifstream f ( "lgput.in" ) ;
ofstream g ( "lgput.out" ) ;
const long MODULO = 1999999973 ;
unsigned long long exp ( unsigned long long Baza , unsigned long long Exponent ) ;
int main ( )
{
cout << exp ( 100 , 2 ) ;
unsigned long long n , p ;
f >> n >> p ;
g << exp ( n , p ) ;
}
unsigned long long exp ( unsigned long long Baza , unsigned long long Exponent )
{
unsigned long long deReturnat = 1 , bit = 1 , impartitor = 1 ;
while ( Exponent )
{
while ( ! ( Exponent & bit ) )
{
Exponent >>= 1 ;
Baza *= Baza ;
Baza %= MODULO ;
}
impartitor = Baza ;
while ( Exponent & bit )
{
Exponent >>= 1 ;
Baza *= Baza ;
Baza %= MODULO ;
}
deReturnat *= Baza ;
deReturnat /= impartitor ;
deReturnat %= MODULO ;
}
return deReturnat ;
}
