TZOJ 6916: 小明的数学课(1) 快速幂

描述

一天数学课,老师给小明出了一道题,小明想了半天都不知道如何解决。现在小明想找你用编程的方法解决这个问题。问题如下:已知两个正整数m,n,求m的n次方的个位的数字。(1<=m<=1018,1<=n<=1018

输入

两个正整数m,n,中间用空格隔开。

输出

m的n次方的个位的数字。

样例输入

 2 3

样例输出

8
不测试数据的结果。。。照着快速幂模板套,以为是对1e18取模,结果才反应过来个位数是对10取模,喜提好多WA 555555QAQ
复制代码
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
ll a,b;
ll qp(ll a,ll b)
{
    if(b==1)return a%10;
    if(b%2==0){
        int t = qp(a,b/2);
        return t*t%10;
    }else{
        int t = qp(a,b/2);
        t = t*t%10;
        t = t*a%10;
        return t;
    }
}
int main()
{
    cin>>a>>b;
    cout<<qp(a,b);
     return 0;
}
复制代码

 

posted @   CRt0729  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示