ArtemisL2

C3 in LOSH 2016

Jul 30th, 2016
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. const long long mod = 1000000009;
  5.  
  6. long long t(long long a, long long b){
  7.     return (a * b)%mod;
  8. }
  9.  
  10. long long bin_pow(long long a, long long n){
  11.     if (n == 0){
  12.         return 1;
  13.     }
  14.     if (n % 2 == 0){
  15.         long long pp = bin_pow(a, n / 2);
  16.         return t(pp, pp);
  17.     } else{
  18.         return t(a, bin_pow(a, n - 1));
  19.     }
  20. }
  21.  
  22. int main(){
  23.     int n=0;
  24.     cin >> n;
  25.     long long y = mod-2;
  26.     long long a[n];
  27.     for (int i = 0;i  < n; i++)
  28.         cin >> a[i];
  29.     for (int i = 0;i  < n; i++)
  30.         cout << bin_pow(a[i], y) <<'\n';
  31.  
  32. }
Add Comment
Please, Sign In to add comment