1224 个位数
2024-01-09 23:46:05
描述
计算?ab?的个位数。
输入描述
一行两个空格隔开的正整数表示?a?和?b。
输出描述
输出?a^b?的个位数。
样例输入 1?
2 4
样例输出 1?
6
提示
数据范围与提示
1≤a,b≤10^5
题解
这个题容易出的问题就是大数溢出,因为a的范围是大于等于1,那么如果我们a给的是1000000111111111111,就已经超出int和long long了,你用什么都没办法,这样就只能先把个位拿出来,然后每次只乘个位,相当于就是个位那个数字,做b次循环,但是,我们要注意如果个位是9,我们的b是99999,还是可能会溢出,那么我们每次乘完之后还要对res进行取余,让res始终保持数量不大。
#include<bits/stdc++.h>
using namespace std;
int main(){
long long int a,b;
cin >> a >> b;
long long int res = 1;
int ge = a%10;
for(int i = 0;i < b;i ++){
res *= ge;
res %= 10;
}
cout << res%10;
}
文章来源:https://blog.csdn.net/L6666688888/article/details/135491103
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!