请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内用C语言进行代码补充,具体任务如下: 给定两个数a,b(0 < a&&b <=2^30),求a^b的最后一位数。(即a的b次幂的个位数) 提示:这题有一定的难度,小心超时,或超出数字的存储极限。 效果如下: 输入:6667 4454。 输出:9。
时间: 2024-03-03 18:52:46 浏览: 94
求一个9位数的C语言源代码
请确认您已经读懂以下代码并在 Begin - End 区域内补充完整代码:
```c
#include<stdio.h>
int main()
{
int a, b;
int ans = 1; //初始化ans为1,方便后面累乘
scanf("%d%d", &a, &b);
while(b)
{
if(b & 1) //如果b的二进制末位为1
{
ans = (ans * a) % 10; //累乘并取个位数
}
b >>= 1; //b右移一位,相当于b除以2取整
a = (a * a) % 10; //a平方并取个位数
}
printf("%d\n", ans);
return 0;
}
```
代码补充:
```c
#include<stdio.h>
int main()
{
int a, b;
int ans = 1; //初始化ans为1,方便后面累乘
scanf("%d%d", &a, &b);
while(b)
{
if(b & 1) //如果b的二进制末位为1
{
ans = (ans * a) % 10; //累乘并取个位数
}
b >>= 1; //b右移一位,相当于b除以2取整
a = (a * a) % 10; //a平方并取个位数
}
printf("%d\n", ans);
return 0;
}
```
阅读全文