鱼C论坛

 找回密码
 立即注册
楼主: 冬雪雪冬

[技术交流] Python:每日一题 160

[复制链接]
发表于 2018-3-9 12:33:42 | 显示全部楼层
递归法
  1. def f(n):
  2.     if n <= 0:
  3.         print('Error!')
  4.     elif n == 1:
  5.         return 1
  6.     else:
  7.         return n + f(n - 1) ** 2
  8. n = 5
  9. print(f(5))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:45:53 From FishC Mobile | 显示全部楼层
#定义函数
def fun(n):
        return "1" if n==1 else "({0})**2+{1}".format(fun(n-1),str(n))

print(fun(5))

#一句话
print(list(map(lambda n: "1" if n==1 else "({0})**2+{1}".format(fun(n-1),str(n)),(5,))) )

点评

要求计算结果,不是列出式子  发表于 2018-3-11 21:32

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:48:46 | 显示全部楼层
  1. def fun(n):
  2.     if n==1:
  3.         return 1
  4.     else:
  5.         return fun(n-1)**2+n
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:50:16 | 显示全部楼层
来晚了
  1. def fun(n):
  2.     return 1 if n == 1 else pow( fun(n - 1), 2) + n
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 12:53:06 | 显示全部楼层
  1. def fun(x):
  2.     if x == 1:
  3.         return 1
  4.     else:
  5.         return pow(fun(x - 1),2) + x

  6. num = int(input("input:"))
  7. print("fun(%d) = %d" % (num,fun(num)))
复制代码

  1. >>> ================================ RESTART ================================
  2. >>>
  3. input:3
  4. fun(3) = 12
  5. >>> ================================ RESTART ================================
  6. >>>
  7. input:4
  8. fun(4) = 148
  9. >>> ================================ RESTART ================================
  10. >>>
  11. input:5
  12. fun(5) = 21909
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 13:28:54 | 显示全部楼层
def fun(n):
        if n == 1:
                return 1
        else:
                return (fun(n-1))**2 + n
               
print(fun(1))
print(fun(2))
print(fun(3))
print(fun(4))
print(fun(5))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 13:52:07 | 显示全部楼层
def fun(n):
    if n == 1:
        return 1
    elif n > 1:
        record = fun(n-1)
        return n + record*record

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 14:20:01 | 显示全部楼层
def fun(n):
    if n==1 :
        return 1
    else:
        ff=fun(n-1)
        ff=ff*ff+n
        return ff

n=int(input())
print("结果=",fun(n))

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 16:29:18 | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-9 17:25:32 | 显示全部楼层
def fun(x):
    if x == 1:
        return 1
    else:
        return fun(x - 1) ** 2 + x

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 17:33:31 | 显示全部楼层
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return fun(n-1)**2+ n

  6. if __name__ == '__main__':
  7.     i =1
  8.     while True:
  9.         print(fun(i))
  10.         input()
  11.         i += 1
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 17:43:42 | 显示全部楼层
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return fun(n-1)*fun(n-1)+ n
  6. for i in range(1,6):
  7.     print fun(i)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 17:58:03 | 显示全部楼层
#如果只是打印出结果值的话
def fun(n):
    if n == 1:
        return 1
    else:
        return fun(n-1)*fun(n-1) + n

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 18:15:02 | 显示全部楼层
  1. def fun(n):
  2.     if n>1:
  3.         return fun(n-1)**2+n
  4.     else:
  5.         return 1

  6. n = int(input('输入整数:'))
  7. print(fun(n))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 18:51:06 | 显示全部楼层
非线性的递推关系 a[n] = a[n-1]^2 + n
要说简单,那肯定是解出 a[n] 的显式简单啊
可是我数学巅峰过了···完全不知道怎么解这个
只能默默地···
  1. def fun(n):
  2.     if n == 1:
  3.         return 1
  4.     return fun(n-1)**2 + n
复制代码

还有
  1. def fun2(n):
  2.     result = 1
  3.     for i in range(1, n):
  4.         result = result ** 2 + i+1
  5.     return result
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 20:11:40 | 显示全部楼层
本帖最后由 qwc3000 于 2018-3-10 08:06 编辑

def fun(num):
    if num==1:
        return 1
    if num==2:
        return fun(1)**2+2
    return (fun(num-1))**2+num

print(fun(4))

输出结果:148

点评

不是给出算式的字符串,而是要计算结果  发表于 2018-3-9 21:41

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 21:09:54 | 显示全部楼层
本帖最后由 LargeCat 于 2018-3-9 21:21 编辑
  1. def fun(n, string=''):
  2.     if n==1:
  3.         return [1, '1']
  4.     else:
  5.         s='('+fun(n-1)[1]+')'+str('^2+')+str(n)
  6.         return [fun(n-1)[0]**2+n,s]

  7. print(fun(5))  #用 数字 5进行测试结果
复制代码


结果 :
  1. [21909, '((((1)^2+2)^2+3)^2+4)^2+5']
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 21:20:55 | 显示全部楼层

  1. def fun(n):
  2.     for i in range(1, n+1):
  3.         if i == 1:
  4.             m = 1
  5.         else:
  6.             m = fun(n-1)**2 + n
  7.     return m

  8. while True:
  9.     temp = input("整数:")
  10.     sss = int(temp)

  11.     l = fun(sss)

  12.     print(l)
复制代码

结果:
整数:1
1
整数:2
3
整数:3
12
整数:4
148
整数:5
21909
整数:

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 21:39:03 | 显示全部楼层
怎么参考别人的答案呢

点评

每次题目都有一个封闭期,是为了让大家独立思考,过后会让大家都看到的  发表于 2018-3-11 21:37
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-9 22:01:45 | 显示全部楼层
  1. def fun(n):
  2.     s = 0
  3.     result = 0
  4.     while s < n:
  5.         s += 1
  6.         result = result*result + s
  7.     return result


  8. print(fun(5))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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