幂取模

输入正整数 a,n,m 输出 a^n %m 的值

#include<iostream>
#include<string>
#include<string>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int pow_mod(int a,int n,int m){
    if(n==0) return 1;
    int x=pow_mod(a,n/2,m);
    long long ans=(long long ) x*x %m;
    if(n%2==1) ans=ans*a%m;
    return (int) ans;
 }
int main(){
  int n,m,a;
  while(cin>>n>>m>>a){
        cout<<pow_mod(a,m,n)<<endl;

  }

   return 0;
}

 

posted @ 2016-03-08 17:37  咸咸的告别  阅读(149)  评论(0编辑  收藏  举报