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版)
Python编程求解第1天1分钱之后每天两倍持续一个月的等比数列问题的更多相关文章
- sql server编写脚本求解第1天1分钱之后每天两倍持续一个月的等比数列问题
一.问题 问题1 场景:如果你未来的丈母娘要求你,第1天给她1分钱,第2天给2分钱,第3天给4分钱,以此类推,每天给前一天的2倍,给1个月(按30天)算就行.问:第30天给多少钱,总共给多少钱? 问题 ...
- 【Python灰帽子--黑客与逆向工程师的Python编程之道】我的学习笔记,过程.(持续更新HOT)
我的学习笔记---python灰帽子 世界让我遍体鳞伤,但伤口长出的却是翅膀. -------------------------------------------- 前言 本书是由知名安全机构Im ...
- 一个Json结构对比的Python小工具兼谈编程求解问题
先上代码. jsondiff.py #!/usr/bin/python #_*_encoding:utf-8_*_ import argparse import json import sys rel ...
- Python实现Json结构对比的小工具兼谈编程求解问题
摘要: 通过使用Python编写一个解析Json结构对比的小工具,来提炼编程求解的通用步骤和技巧. 难度: 初级 先上代码. jsondiff.py #!/usr/bin/python #_*_enc ...
- Linux运维人员如何学习python编程
Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...
- 百道Python面试题实现,搞定Python编程就靠它
对于一般的机器学习求职者而言,最基础的就是掌握 Python 编程技巧,随后才是相关算法或知识点的掌握.在这篇文章中,我们将介绍一个 Python 练习题项目,它从算法练习题到机试实战题提供了众多问题 ...
- Python黑帽编程2.1 Python编程哲学
Python黑帽编程2.1 Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...
- Python编程核心之makeTextFile.py和readTextFile.py
引言: 最近大半年都在学习python编程,在双十一的时候购买了<Python编程核心>,看到makeTextFile.py和readTextFile.py两个例子有点错误,所以在这里给修 ...
- Python编程规范(PEP8)
Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...
随机推荐
- .net跨域接口服务器端配置
在项目Config文件中添加一下节点配置 <system.webServer> <httpProtocol> <customHeaders> <add nam ...
- 28.6 Integer 自动装箱和拆箱
public class IntegerDemo2 { public static void main(String[] args) { //自动装箱 // Integer i = new Integ ...
- 22 Extends 继承(子类、父类)
本章主要介绍继承的 概念.方法重写(@Override注解的使用).使用场景.方法的执行顺序 /*1.继承的 概念 * 继承:多个类有共同的成员变量和成员方法,抽取到另外一个类中(父类),在让多个类去 ...
- 配置spark历史服务(spark二)
1. 编辑spark-defaults.conf位置文件 添加spark.eventLog.enabled和spark.eventLog.dir的配置修改spark.eventLog.dir为我们之前 ...
- 外观模式(c++实现)
外观模式 目录 外观模式 模式定义 模式动机 UML类图 源码实现 优点 缺点 模式定义 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子 ...
- Adaptert Listview 优化
这次是关于Listview的优化的,之前一直采用愚蠢的方式来使用listview,出现的情况就是数据多的话下拉的时候会出现卡顿的情况,内存占用多.所以学习了关于listview的优化,并且这也是普遍使 ...
- threejs地球之后:动画的控制
上一篇知道如何制作threejs地球之后,就正式coding了,当然还是使用最心爱的Vue.本篇会有一些代码,但是都是十几行的独立片段,相信你不用担心. 布局 在进入本篇主题前,要简单看一下xplan ...
- Map使用foreach遍历方式,Map获取第一个键值
List<Map<String, Object>> mapList = new ArrayList<>(); for (Map.Entry<String,O ...
- 将函数作为返回值的方法 - Python
有的时候,我们需要将函数作为返回值,以下为代码: def superfunc(): i = 0 def wrapper(): nonlocal i i +=1 return i return wrap ...
- 测评软件Lemon教程
Lemon 信息技术测评软件 目录 下载与安装 编译器配置 添加样例和选手 完成测评 1.下载与安装 万恶的 伟大的百度网盘: 链接: https://pan.baidu.com/s/1BfMhs_z ...