鱼C论坛

 找回密码
 立即注册
查看: 3443|回复: 11

[作品展示] python递归解决高斯1+2+3....+10

[复制链接]
发表于 2022-1-27 18:37:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shiyouroc 于 2022-1-27 21:54 编辑

上学的时候我们会学到高斯的1+2+3...100的问题。今天,我用python递归解决这个问题,顺便教会大家递归。看完的发回复。支持一下,淘个贴。

  1. def f(x):
  2.     if x > 0:
  3.         return x+f(x-1)
  4.     else:
  5.         return 0
  6.        
  7. print(f(100))
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-27 18:38:43 | 显示全部楼层
求回复。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-27 18:44:47 | 显示全部楼层
你是认真的吗?

  1. $ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. def f(x):
  5.        if x<0:
  6.             return x+f(x-1)
  7.        else:
  8.             return 0

  9. print(f (100))
  10. $ ./main.py
  11.   File "/tmp/./main.py", line 5
  12.     if x<0:
  13.         ^
  14. SyntaxError: invalid character '<' (U+FF1C)
  15. $ vim main.py
  16. $ cat main.py
  17. #!/usr/bin/env python
  18. #coding=utf-8

  19. def f(x):
  20.        if x<0:
  21.             return x+f(x-1)
  22.        else:
  23.             return 0

  24. print(f (100))
  25. $ ./main.py
  26.   File "/tmp/./main.py", line 6
  27.     return x+f(x-1)
  28.               ^
  29. SyntaxError: invalid character '(' (U+FF08)
  30. $ vim main.py
  31. $ cat main.py
  32. #!/usr/bin/env python
  33. #coding=utf-8

  34. def f(x):
  35.        if x<0:
  36.             return x+f(x-1)
  37.        else:
  38.             return 0

  39. print(f (100))
  40. $ ./main.py
  41.   File "/tmp/./main.py", line 6
  42.     return x+f(x-1)
  43.                  ^
  44. SyntaxError: invalid decimal literal
  45. $ vim main.py
  46. $ cat main.py
  47. #!/usr/bin/env python
  48. #coding=utf-8

  49. def f(x):
  50.        if x<0:
  51.             return x+f(x-1)
  52.        else:
  53.             return 0

  54. print(f (100))
  55. $ ./main.py
  56.   File "/tmp/./main.py", line 10
  57.     print(f (100))
  58.          ^
  59. SyntaxError: invalid character '(' (U+FF08)
  60. $ vim main.py
  61. $ cat main.py
  62. #!/usr/bin/env python
  63. #coding=utf-8

  64. def f(x):
  65.        if x<0:
  66.             return x+f(x-1)
  67.        else:
  68.             return 0

  69. print(f (100))
  70. $ ./main.py
  71.   File "/tmp/./main.py", line 10
  72.     print(f (100))
  73.             ^
  74. SyntaxError: invalid character '(' (U+FF08)
  75. $ vim main.py
  76. $ cat main.py
  77. #!/usr/bin/env python
  78. #coding=utf-8

  79. def f(x):
  80.        if x<0:
  81.             return x+f(x-1)
  82.        else:
  83.             return 0

  84. print(f (100))
  85. $ ./main.py
  86.   File "/tmp/./main.py", line 10
  87.     print(f (100))
  88.                ^
  89. SyntaxError: invalid decimal literal
  90. $ vim main.py
  91. $ cat main.py
  92. #!/usr/bin/env python
  93. #coding=utf-8

  94. def f(x):
  95.        if x<0:
  96.             return x+f(x-1)
  97.        else:
  98.             return 0

  99. print(f (100))
  100. $ ./main.py
  101.   File "/tmp/./main.py", line 10
  102.     print(f (100))
  103.                  ^
  104. SyntaxError: invalid character ')' (U+FF09)
  105. $ vim main.py
  106. $ cat main.py
  107. #!/usr/bin/env python
  108. #coding=utf-8

  109. def f(x):
  110.        if x<0:
  111.             return x+f(x-1)
  112.        else:
  113.             return 0

  114. print(f (100))
  115. $ ./main.py
  116. 0
  117. $ ./main.py
  118. 0
  119. $ ./main.py
  120. 0
  121. $
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-27 18:45:47 From FishC Mobile | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-27 18:46:22 | 显示全部楼层
  1. $ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. def f(x):
  5.        if x>0:
  6.             return x+f(x-1)
  7.        else:
  8.             return 0

  9. print(f (100))
  10. $ ./main.py
  11. 5050
  12. $
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-27 18:46:25 From FishC Mobile | 显示全部楼层
人造人 发表于 2022-1-27 18:44
你是认真的吗?

等一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-27 18:48:28 | 显示全部楼层
  1. $ cat main.py
  2. #!/usr/bin/env python
  3. #coding=utf-8

  4. def f(x):
  5.     if x <= 0: return 0
  6.     return x + f(x - 1)

  7. print(f(100))
  8. $ ./main.py
  9. 5050
  10. $
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-27 19:08:25 From FishC Mobile | 显示全部楼层
def f(x):
    if x > 0:
        return x+f(x-1)
    else:
        return 0
       
print(f(100))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-27 19:09:27 From FishC Mobile | 显示全部楼层
现在修复完成
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-27 22:18:07 | 显示全部楼层
感谢楼主分享,这题目好有趣,我想试试 C++ 语言的:
C++
  1. #include <iostream>

  2. int main()
  3. {
  4.     auto f = [](int x) {return (1 + x) * (x / 2); };
  5.     std::cout << f(100) << std::endl;
  6.     return 0;
  7. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-8 10:48:14 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 15:11:12 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 20:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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