题解:洛谷 B2075 幂的末尾
本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。
欢迎大家订阅我的专栏:算法题解:C++与Python实现!
附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总
【题目来源】
洛谷:B2075 幂的末尾 - 洛谷
【题目描述】
幂a b a^bab的末3 33位数是多少?
【输入】
两个正整数a aa,b bb。1 ≤ a ≤ 100 1 \le a \le 1001≤a≤100,1 ≤ b ≤ 10000 1 \le b \le 100001≤b≤10000。
【输出】
从高位到低位输出幂的末三位数字,中间无分隔符。若幂本身不足三位,在前面补零。
【输入样例】
2 3【输出样例】
008【算法标签】
#入门# #语法基础#
【代码详解】
#include<bits/stdc++.h>usingnamespacestd;intmain(){inta,b;// 输入的整数a和bints=1;// 计算结果,初始化为1cin>>a>>b;// 输入a和b// 计算a^b mod 1000,即a^b的最后三位数字for(inti=1;i<=b;++i)// 循环b次{s=s*a%1000;// 每次将s乘以a然后对1000取模}// 输出结果,保持三位数格式(可能包含前导0)if(s<10)// 如果结果小于10(1位数){cout<<"00";// 输出两个前导0}elseif(s<100)// 如果结果小于100但大于等于10(2位数){cout<<'0';// 输出一个前导0}cout<<s;// 输出结果本身return0;// 程序正常结束}【运行结果】
2 3 008