求次幂之个位数

坎儿妹问我这个……我一看,太简单了,写出来吧

gave a and b,how to know the a^b's the last digit number


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我们可以使用循环的方法来计算111的1111个位数、十位数、百位数。 首先,111的任何都是以1、1、1为结尾的,因此111的任何对10取余数都是1。所以111的1111个位数为1。 接下来,我们需要计算111的1111的十位数和百位数。由于我们无法通过取余数的方法直接得到十位数和百位数,我们需要另外的方法来计算。我们可以使用数学运算的方法来得到结果。具体方法如下: - 首先,将111的1111表示为指数形式:111^1111。 - 然后,我们可以将111表示为100+11,即111 = 100 + 11。 - 根据指数的乘法法则,我们有: 111^1111 = (100 + 11)^1111 - 我们可以使用二项式定理将(100 + 11)^1111展开为以下形式: (100 + 11)^1111 = 100^1111 + C(1111,1)100^1110(11) + C(1111,2)100^1109(11)^2 + ... + C(1111,1111)(11)^1111 - 注意到,对于i >= 2, 100^i的末尾至少有两个0,因此这些项对十位数和百位数没有贡献,我们只需考虑i = 0和i = 1的情况。 - 我们可以将(100 + 11)^1111中的所有的11用1替换,得到以下形式: (100 + 11)^1111 = 100^1111 + C(1111,1)100^1110(1) + C(1111,2)100^1109(1)^2 + ... + C(1111,1111)(1)^1111 = 100^1111 + 1111*100^1110 + ... - 我们可以使用循环计算出100^1111的个位数和十位数,然后再加上1111*100^1110,得到十位数和百位数。 因此,我们得到以下代码实现: ```python # 计算100的n个位数和十位数 def power_of_100(n): res = 1 for i in range(n): res = (res * 100) % 10000 return res // 100, res % 100 # 计算111的1111个位数、十位数、百位数 def power_of_111(): # 计算100的1111个位数和十位数 h, t = power_of_100(1111) # 计算111的1111个位数 a = 1 # 计算111的1111的十位数 b = (1111 * h + 11 * t) % 100 # 计算111的1111的百位数 c = ((1111 * h + 11 * t) // 100) % 10 return a, b, c # 测试代码 a, b, c = power_of_111() print(a, b, c) # 输出: 1 1 0 ``` 因此,111的1111个位数为1,十位数为1,百位数为0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值