首页 > 编程语言 >python算法: 棋盘上的麦粒(舍罕王赏麦)

python算法: 棋盘上的麦粒(舍罕王赏麦)

时间:2024-05-15 10:30:17浏览次数:15  
标签:麦子 总数 python 赏麦 while num total 格上 舍罕王

一,for循环:

1,功能:重复执行同一段代码
语法:

for index in range(n): 
    # 循环体代码

index : 用来依次接收可迭代对象中的元素的变量名
range()函数:负责返回整数序列

流程图:

2,应用

range可以同时指定start 和stop,用for遍历并打印

1 2 3 4 # 指定 start和stop # print的参数 end=" " 用来使打印不换行 for num in range(3,9):     print(num, end=" ")

运行结果:

3 4 5 6 7 8 

二,while循环:

1,功能:重复执行同一段代码
语法:

while 条件表达式:
    # 循环体

 当条件表达式的返回值为真时,则执行循环体中的语句,
执行完毕后,重新判断条件表达式的返回值,
如果表达式返回的结果为假,则退出循环体

2,流程图:

3,打印从1到10

1 2 3 4 5 # 打印从1到10 n = 1 while n <= 10:     print(n, end=" ")     n += 1

运行结果:

1 2 3 4 5 6 7 8 9 10 

说明:刘宏缔的架构森林—专注it技术的博客,
网址:https://imgtouch.com
本文: https://blog.imgtouch.com/index.php/2024/03/14/python-suan-fa-qi-pan-shang-de-mai-li-she-han-wang-shang-mai/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: [email protected]

三,棋盘上的麦粒的题目与思路

1,题目:

印度的舍罕王打算重赏发明了国际象棋的宰相,宰相说:“陛下,请您在这张棋盘的第一个格內赏给我一粒麦子,在第二个格内赏给我两粒麦子在第三个格內赏给我四粒麦子,照这样每一格内都比前一格多一倍,把这棋盘的64个格都放满就行啦”。舍罕王满口答应:“你所要求的并不多,你会如愿以偿。

请问:一共需要赏赐给这位宰相多少粒麦子?

2,思路:

已知第一格放1粒,第二格放2粒,第三格放4粒,以此类推,而且知道棋盘的格子总数,所以用循环即可,而且for/while都可以

四,编写代码:

1, for循环

1 2 3 4 5 6 num = 1  # 当前格的麦子数量 total = 1  # 麦子总数 for i in range(2, 65):     num *= 2  # 得到当前格上的麦子数量     total += num  # 把当前格上的麦子数量添加到总数 print("麦子总数:", total)

运行结果:

麦子总数: 18446744073709551615

2,while循环

1 2 3 4 5 6 7 8 9 10 # 第一格的情况 total = 1    # 麦子总数,当前是第1格时,总数是1 num = 1      # 当前格上的麦子数量,第一格时麦子数量是1 grid = 1     # 第几格,当前是第一格 # 遍历到第64格 while grid <= 63:     grid += 1      # 得到当前格     num *= 2       # 得到当前格上的麦子数量     total += num   # 把当前格上的麦子数量添加到总数 print("麦粒总数:", total)

运行结果:

麦粒总数: 18446744073709551615
 

标签:麦子,总数,python,赏麦,while,num,total,格上,舍罕王
From: https://www.cnblogs.com/architectforest/p/18193309

相关文章

  • python算法:杨辉三角
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python算法:n皇后
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python算法:角谷猜想
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python算法:水仙花数
    一,for循环:1,功能:重复执行同一段代码语法:forindexinrange(n):   #循环体代码index:用来依次接收可迭代对象中的元素的变量名range()函数:负责返回整数序列流程图:2,应用range可以同时指定start和stop,用for遍历并打印1234#指定start和s......
  • python: 递归函数:阶乘
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python: 递归函数:汉诺塔
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python: 递归函数:猴子吃桃
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • python: 递归函数:斐波那契数列
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • 地理数据可视化的神奇组合:Python和Geopandas
    本文分享自华为云社区《Python与Geopandas:地理数据可视化与分析指南》,作者:柠檬味拥抱。地理数据可视化在许多领域都是至关重要的,无论是研究地理空间分布、城市规划、环境保护还是商业决策。Python语言以其强大的数据处理和可视化库而闻名,而Geopandas作为其地理信息系统(GIS)领域的......
  • python 类型转换函数
    float()将一个字符串或数字转换为浮点数。number=float("123.45")print(number)#输出:123.45int()将一个字符串或数字转换为整数。number=int("123")print(number)#输出:123binary_number=int("101",2)print(binary_number)#输出:5bin()将一个整数......