2021-04-23

算法基础1

1.斐波那契数列(递归算法)
问题描述:
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子一月能生出一对小兔子来;假设所有的兔子都不死,那么一年(365天)以后可以繁殖多少对兔子?
输入:
3
输出:
2

 def Fibonaqi(month):                   #迭代部分
    if month ==1 or month ==2:
        return 1
    else:
        return (Fibonaqi(month - 1) +Fibonaqi(month - 2) )

n =int(input())            #输入月份
print(Fibonaqi(n))         #调用函数

#代码缺陷就这题来说数据 n的值最好不要超过35(大于35递归的效率会很低;就是等电脑在那算半天) 
#递归算法对于数据量很大的计算来说效率低到你想吐。。。。。

解题思路:
根据题意先画表格分析(这应该是比较清晰直观的分析方法)
在这里插入图片描述
不难发现从第三项开始其对数是前两项的和由此可得以下公式:
在这里插入图片描述
🤭嘿嘿!!!(这个大家不陌生吧)从公式中很自然的联想到了数据结构中的递归。

2.冒泡排序(最常见的排序算法)
🤭🤭🤭🤭🤭🤭🤭🤭后面还会专门出一章排序算法的内容
题目描述:
这个比较简单我就直接描述了没找题目大家见谅。。。。
给出一组数据例如: 21 3 25 78 19 50 28 45
叫你把他排成升序(或降序 这个看你心情😀😀😀😀😀)
输入:
21 3 25 78 19 50 28 45
输出:
3, 19, 21, 25, 28, 45, 50, 78

arr =list(map(int,input().split()))

print(sorted(arr))  # arr.sort()
                    # print(arr)

#升序用一下代码
'''
arr.sort(reverse = True)
print(arr)
'''

补充:map函数;spilt()看不懂的上度娘问。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值