qq1027500097 发表于 2020-3-29 17:20:31

蛮有挑战的一道题。求助求助,mod运算怎么不采用递归算法实现。

如题,求助求助,mod运算怎么不采用递归算法实现,且循环次数不得超过32次。
以下是题目:
计算a^n mod p,其中a,n和 p 均为正整数,均可用 32位整型变量存储。
从屏幕中输入a , n 和p 。
要求:循环次数不超过32 次。不得采用递归等尚未介绍的课程内容。
提示:n为偶数时,a^n恒等a^n/2*/a ^n/2(mod p) ;n为非负整数时,(向下取整)也可通
过位运算n >> 1 实现。

zltzlt 发表于 2020-3-29 17:23:05

mod 运算就是 % 取余运算啊

qq1027500097 发表于 2020-3-29 17:24:55

zltzlt 发表于 2020-3-29 17:23
mod 运算就是 % 取余运算啊

怎么不采用递归算法实现呢

墨羽岚 发表于 2020-3-29 17:36:17

递归和迭代是不同的,可以用迭代试试()

qq1027500097 发表于 2020-3-29 17:40:25

墨羽岚 发表于 2020-3-29 17:36
递归和迭代是不同的,可以用迭代试试()

谢谢谢谢! 解决了!

qq1027500097 发表于 2020-3-29 17:41:28

zltzlt 发表于 2020-3-29 17:23
mod 运算就是 % 取余运算啊

谢谢谢谢! 解决了!
页: [1]
查看完整版本: 蛮有挑战的一道题。求助求助,mod运算怎么不采用递归算法实现。