在 Python 中使用递归函数打印 n 的 m 个倍数,而不使用任何循环。


给定一个数字 n,打印 m 个 n 的倍数,而不使用任何循环。这里,我们使用递归函数。

示例

Input: n = 15
Output: 15 10 5 0 5 10 15

算法

Step 1: Given n.
Step 2: If we are moving back toward the n and we have reached there, then we are done.
Step 3: If we are moving toward 0 or negative.
Step 4: If m is greater, then 5, recursive function with true flag else recursive function is false.
Step 5: If m is not greater than 5 then flag is false.

示例代码

def printm(p, q, flag):
   print(q)
   if flag == False and p == q:
      return
   if flag:
      if q - 5 > 0: 
         printm(p, q - 5, True)
      else: # recur with false flag
         printm(p, q - 5, False)
   else: # If flag is false.
      printm(p, q + 5, False)
# Driver Code
n = 15
printm(n, n, True)

输出

15
10
5
0
5
10
15

更新于: 2019 年 7 月 30 日

213 次浏览

启动你的 职业

完成课程即可获得认证

立即开始
广告