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最常用 ...
随机推荐
- Pytest系列(17)- pytest-xdist分布式测试的原理和流程
pytest-xdist分布式测试的原理 前言 xdist的分布式类似于一主多从的结构,master机负责下发命令,控制slave机:slave机根据master机的命令执行特定测试任务 在xdist ...
- Python设计模式(4)-装饰模式
# coding=utf-8 # * 一般情况下,当一个基类写好之后,我们也许不愿意去改动,也不能改动,原因是# * 这样的在项目中用得比较久的基类,一旦改动,也许会影响其他功能模块,但是,# * 又 ...
- C与C++的函数声明中省略参数的不同意义
一直都以为C/C++中形如 int func(); 这样的函数声明其意义就是一个参数 void(没有参数)的函数.然而今天在看C++的时候突然看到这么一句: 对于带空参数表的函数,C和C++有很大的不 ...
- python干货-类属性和方法,类的方法重写
类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...
- 带权值的LCA
例题:http://poj.org/problem?id=1986 POJ1986 Distance Queries Language: Default Distance Queries Time L ...
- timer和ScheduledThreadPoolExecutor定时任务和每日固定时间执行
//ScheduledThreadPoolExecutor每三秒执行一次 public static void main(String[] args) { ScheduledThread ...
- sublime查看项目代码多少行
---------------------sublime 0.右击要查找的文件; 1.勾选正则( .* ); 3.输入正则表达式 ^[ \t]*[^ \t\n\r]+.*$ 0:搜索 \n 是不是 ...
- [javascript]JS获取当前时间戳的方法
JavaScript 获取当前时间戳: 第一种方法:(这种方法只精确到秒) var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法 ...
- ASP.Net内置对象之网页之间传参(一)
Response对象 主要运用于数据从服务器发送到浏览器,可以输出数据.页面跳转.各个网页之间传参数等操作. 以下讲解几个常用例子: 在页面中输出数据 主要通过Write .WriteFile方法输出 ...
- 解决Typecho Gravatar头像加载缓慢的问题
前言 Typecho评论默认使用的是Gravatar头像,但因为Gravatar网站总是被墙,导致页面加载被拖慢,而且加载半天也还是个裂图,太影响心情,所以我们可以不使用Gravatar头像,换成另一 ...