B2075 幂的末尾

思路

结果只取最后三位,而之前的数不会参与幂的计算

所以第三位之前的数肯定和结果无关

可以每乘一次 amod 一次 1000,舍弃前面的数。

%03d可以在前面补满 3 位的 0

要注意结果 s 的初始值要设成 1

否则 0 乘以任何数都还是 0

代码

#include <iostream>
#include <cstdio>
using namespace std;
int a, b, s = 1;
int main()
{
    cin >> a >> b;
    for(int i = 0;i < b;++i)
        s *= a, s %= 1000; //每乘一次模一次1000
    printf("%03d", s); //补满3位的0
    return 0;
}
posted @   Jijidawang  阅读(17)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示