轻院 1090 整数幂(多实例测试)

该博客主要讲述了如何求解1到1000之间整数A的B次幂的最后三位数。题目要求处理多个测试实例,输出结果不能有前导0。解题思路包括考虑幂次循环、避免前导0的各种情况以及处理溢出问题。作者强调了在处理这类问题时,应取数除以10的适当次方的余数来获取后几位数。
摘要由CSDN通过智能技术生成

Description
求A^B的最后三位数表示的整数(1<=A,B<=1000)

Input
n个测试实例,每个实例给出两个正整数A,B
Output
输出A^B的最后三位(没有前导0)
Sample Input
22 312 6
Sample Output
8984

题意概括:输出一个数的幂次方的后三位

解题思路:
1: 因为是幂次方,所以要循环幂次

错误原因:
1:前导0的各种不同的情况考虑不够充分。应该分别考虑首位为零且第二位也为零,首位为零但第二位不为零,首位不为零三种情况。
2:没有考虑溢出,因为给的数据是1<=A,B<=1000,要考虑到溢出的情况;所以每次要取余数,只用留下后三位参与接下来的累乘即可。

经验总结:
1: 要取一个数的后几位,就要让一个数取10的几次方的余数。

我的AC代码:

#include<stdio.h>
#include<math.h>

int main(void)
{
    int n;
    int a, b, i, 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值