当前位置:
首页 > temp > 简明python教程 >
-
Python编程求解第1天1分钱之后每天两倍持续一个月的等比数列问题
一、问题
-
问题1
场景:如果你未来的丈母娘要求你,第1天给她1分钱,第2天给2分钱,第3天给4分钱,以此类推,每天给前一天的2倍,给1个月(按30天)算就行。
问:第30天给多少钱,总共给多少钱?
-
问题2
场景:如果有两份工作。
第1份:第1天给你1分钱,第2天给你2分钱,第3天给你4分钱,以此类推,每天给前一天的2倍,给1个月(按30天)。
第2份:一个月给你10万工资。
问:哪份工资高?给你选择的话,你要第1份还是第2份?
二、相关热搜关键词
- 1天1分钱翻倍累计到三十天后多少钱
- 1天1分钱第二天乘2
- 1天1分钱每天翻2倍30天一共多少钱
- 1天1分钱2天2分钱3天4分钱
- 1天1分钱2天2分钱,以2倍的倍数,一个月多少钱?
- 0.01每天翻倍30天是多少
- 0.01每天翻倍月底多少钱
- 0.01每天翻一倍
三、解题方法
问题1和问题2,其实计算是一样的,在这里博主为大家介绍两种不同的解题方法,分别为:通过while循环方式、pow函数结合等比数列通项和求和公式。大家可以参考学习一下博主写的代码。
-
使用while循环方式
1.1 直接看代码和相关注释:''' 作者:zhang502219048 代码来源:https://www.cnblogs.com/zhang502219048/p/12822913.html 功能:通过Python的while循环实现计算1分钱翻倍1个月的问题 变量说明:a为每天多少钱,初始为第1天0.01元 total为截至当天总共多少钱 q为每天翻多少倍 n为第几天,而且是从第2天开始,因为是第2天才开始翻倍 nMax为最后翻倍的那天 ''' a, total, q, n, nMax = 0.01, 0, 2, 2, 30 # while循环,计算到第30天,当天多少钱和截至当天总共多少钱 while n <= nMax: # 从第2天开始进行循环,直到第30天 a = a * q # 计算当天多少钱 total += a # 计算截至当天总共多少钱 n += 1 # 循环变量n加1天 else: print('第30天多少钱:', a) print('第1到30天总共多少钱:', total)
1.2 代码运行结果:
-
使用power函数和等比数列通项和求和公式
2.1 先来看看等比数列通项公式和求和公式是怎样的,学习一下:
2.2 直接看代码和相关注释:''' 作者:zhang502219048 代码来源:https://www.cnblogs.com/zhang502219048/p/12822913.html 功能:通过Python的pow函数和等比数列通项和求和公式实现计算1分钱翻倍1个月的问题 变量说明:a1为第1天0.01元 a30为第30天多少钱 total为截至当天总共多少钱 q为每天翻多少倍 n为总共几天 ''' a1, q, n = 0.01, 2, 30 # 使用pow函数结合等比数列通项公式,计算第30天多少钱 a30 = a1 * pow(q, n-1) # pow(q, n - 1):使用pow函数计算q的n - 1次方 # 使用等比数列求和公式,计算截至第30天总共多少钱 total = (a1 - a30 * q) / (1 - q) print('第30天多少钱:', a30) print('第1到30天总共多少钱:', total)
2.3 代码运行结果:
四、问题结论
- 第30天给5,368,709.12元(五百多万)!
- 截至第30天总共给10,737,418.23元(一千多万)!
五、问题扩展
- 等比数列产生的背景故事——棋盘放麦粒,具体大家可以直接查看百度百科,这里就不再详述。
六、作者声明
- 欢迎转载,但转载请务必注明博文来源:
- https://www.cnblogs.com/zhang502219048/p/12822913.html (Python版)
- https://www.cnblogs.com/zhang502219048/p/11273639.html (sql server版)
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数