暨南大学机试题目

image

考点:快速幂

快速幂模版求得是a的b次方%p

所以这个题做法是a=b=n,p=10

#include<bits/stdc++.h>
using namespace std;
int qmi(int a,int b,int p){
    int res=1;
    while(b){
        if(b&1){
            res=res*a%p;
        }
        b/=2;
        a=a*a%p;
    }
    return res;
}
int main(){
    int n;
    cin>>n;
    cout<<qmi(n%10,n,10);//注意第一个参数表示底数,因为只考虑个位数所以先%10。若不这么做那么    a=a*a%p;会溢出,因为先算a*a的时候就溢出int
    return 0;
}

posted @ 2025-08-13 19:49  Annaprincess  阅读(5)  评论(0)    收藏  举报