贪睡熊猫 2020-07-26 18:23 采纳率: 12.5%
浏览 66

大数幂的末尾:codewars上面的一道算法题,大佬们给个思路即可

##不多说,直接上问题图片
图片说明

大概意思就是说:现在又(x1,x2,.........,xn)这样的一个自然数组,然后让你计算(x1^(x2^(x3^..........(xn-1^xn)))这个数的个位数字是多少

这个是codewars上面的一个问题初看以为比较简单以为就是利用1~9幂运算末尾的周期性来进行计算,但是后来发现好像不能,如果是简单的计算x1^x2当然没问题,但是当计算x1^x2^x3时,我们首先计算x2^x3末尾数字的n,但我们接下来就无法保证x1^n=x1^x2^x3(或者可以保证?需要拿数论的知识证明?

我也参考了一个博主的解决方法,不是很理解:https://blog.csdn.net/qq_41882147/article/details/81065521

给个思路,理论即可,谢谢

  • 写回答

1条回答 默认 最新

  • 关注

    我告诉你个公式你就明白了,x1^x2 = x2^x1 那么x1^n我们可以换成n^x1,那么他的最后一位就不会改变
    按题目例子3^(4^2)
    可以先求4^2的末尾,这个使用高阶幂的分解去求最后一位,
    比如,我们求4^4的末尾,可以化成(4^2)*(4^2)=16*16,末尾就是6*6=6

    然后我们就得出3^(4^2) = 3^(6) = 6^3 = 1

    理解了吗

    评论

报告相同问题?

悬赏问题

  • ¥15 用FDTD计算并提取光栅结构的正负一级衍射光的光功率
  • ¥30 AVL fire DVI中的Design Explorer里面的Run的Status为什么总是Terminated?哪里出问题了?需要修改哪里?
  • ¥15 有二开IOT平台code的来搞钱了。
  • ¥15 求lingo语言编程以下内容
  • ¥15 cannot import name '_MissingValues' from 'sklearn.utils._param_validation'引用smoke
  • ¥15 求PHP跨站免登录技术
  • ¥15 AVL fire DVI中的Design Explorer里面的Objectives /Constraints的scale应该怎么设置
  • ¥15 qml如何绘制三维笛卡尔坐标系并向其中添加折线?
  • ¥15 咨询一个PYTHON的问题
  • ¥15 机器学习建模调参,roc评价指标