鱼C论坛

 找回密码
 立即注册
查看: 7168|回复: 24

[已解决]数字三角形算法编程

[复制链接]
发表于 2022-9-30 08:53:51 | 显示全部楼层
本帖最后由 wp231957 于 2022-9-30 08:56 编辑
  1. def numadd(n):
  2.     while n>9:
  3.         n=sum(map(int,list(str(n))))
  4.     return n   

  5. def foo(beg,add,lines):
  6.     s=0
  7.     for x in range(1,lines+1):
  8.         for y in range(0,x):
  9.             if x==lines:
  10.                 s+=numadd(beg)
  11.             beg+=add  
  12.     return s      

  13. print(foo(2,3,5))
  14. print(foo(221,2,4))
  15. print(foo(184,231,35))
  16. print(foo(71,5,27))
  17. print(foo(1,24,100))

  18. '''
  19. PS C:\Users\Administrator> & D:/Python37/python.exe d:/wpp/DOC.PY
  20. 28
  21. 17
  22. 140
  23. 135
  24. 397
  25. '''
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-30 09:00:46 | 显示全部楼层
转换函数还有一种写法
  1. def numadd2(n):
  2.     if n==0:return 0
  3.     ret=n%9
  4.     if ret==0:
  5.         return 9
  6.     return ret   
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-9-30 12:27:29 From FishC Mobile | 显示全部楼层
nbwubo 发表于 2022-9-30 11:53
谢谢反馈,您的这个解题思路是递归函数吗?

不是的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-28 05:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表