Gistrec icon

Возведение в степень по модулю

Gistrec | PRO | 11/23/18 09:31:22 AM UTC | 0 ⭐ | 619 👁️ | Never ⏰ | []
C++ |

400 B

|

None

|

0 👍

/

0 👎

#include <iostream>
 
using namespace std;
 
size_t modexp(size_t x, size_t y, size_t N) {
    if (y == 0) return 1;
    size_t z = modexp(x, y / 2, N);
    if (y % 2 == 0) {
        return (z*z) % N;
    } else {
        return (x*z*z) % N;
    }
}
 
int main() {
    size_t x, y, N;
    cout << "x= "; cin >> x;
    cout << "y= "; cin >> y;
    cout << "N= "; cin >> N;
    cout << modexp(x, y, N);
    cin.get(); cin.get();
    return 0;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎