zoukankan      html  css  js  c++  java
  • python 冒泡排序

    冒泡, 插排

    lst = [22 , 2 , 55 , 6 , 4 , 1]

    for s in range(len(lst)):     #  限制下面的循环次数

      i = 0   # lst的索引是从0开始的,所以限定i 的初始值为0

      while i < len(lst) - 1:  # lst 的 len(lst)值是从1开始的, 并且 进行比较数字移动到i相应位置 的时候不需要再进项下面的比较,  所以在len(lst)的基础上减去1.

        if lst[i] > lst[i + 1]:  # 进行比较    并解包 调换位置.

          lst[i] , lst[i + 1] = lst[i + 1] , lst[i]

        i = i + 1 #  进行累加,是循环持续进行.

    print(lst)#  打印最后结果

    斐波那契数列:

    # 1、斐波那契数列:1, 2, 3, 5, 8, 13, 21.....根据这样的规律,编程求出400万以内最大的斐波那契数,并求出他是第几个斐波那契数。
    # n1 = 3
    # n2 = 5
    # num = n1 + n2
    # n1 = n2
    # n2 = n1 + n2
    #1、我首先要有前两个数

    方法一   递归:

    def fib(num):
        if num == 1:
            return 1
        elif num == 2:
            return 2
        return fib(num - 1) + fib(num - 2)

    方法二:

    def fib2(num):
        n1 = 1
        n2 = 2
        if num == 1:
            return 1
        elif num == 2:
            return 2
        else:
            for i in range(3,num + 1):#range(3,3)
                n1 , n2 = n2 , n1 + n2
            return n2
    
    fib2(33)

    水仙花数方法:

    for num in range(100, 1000):
        geWei = num % 10
        baiWei = int(num / 100)
        shiWei = int((num - baiWei * 100) / 10)
        sum = geWei**3 + shiWei**3 + baiWei**3
        if sum == num:
            print("%d是水仙花数" % num)
    
    
    for n in range(100, 1000):
        i = int(str(n)[0])
        j = int(str(n)[1])
        k = int(str(n)[2])
    
        if n == i**3 + j**3 + k**3:
            print(n)
  • 相关阅读:
    论信息系统项目的范围管理
    Windows服务/Linux守护创建及安装
    C#开源网络通信库PESocketde的使用
    Unity本地持久化类PlayerPrefs使用详解
    记录一个闪烁,跳动,光圈的动画
    一、Linux驱动学习-了解系统
    用c#自己实现一个简单的JSON解析器
    highcharts的yAxis标题过长 分行显示
    Mysql binlog恢复数据
    Xamarin.Forms实例旅行日志
  • 原文地址:https://www.cnblogs.com/hfbk/p/9299939.html
Copyright © 2011-2022 走看看