完整程序: #include<iostream>#include<algorithm>#include <stdio.h>using namespace std;//利用递推公式实现取余运算的算法//计算a^p%k的值//为了防止运算过程中的溢出,采用64位整数,在C++环境中是long longint mod(long long a,long long p,long long k){ if(p==1)return a%k; if(p%2)return mod(a%k,p-1,k)*a%k;//p是奇数 else return mod((a*a)%k,p/2,k);//p是偶数}int main(){ //在主函数main()中数据的读取与调用 unsigned a,p,k; while(scanf("%u%u%u",&a,&p,&k)!=EOF) cout<<mod(a,p,k);}