【趣味题-03】20240120猴子吃桃( 从大到小insert ,列表元素互减)

2024-01-21 09:44

本文主要是介绍【趣味题-03】20240120猴子吃桃( 从大到小insert ,列表元素互减),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景需求:

猴子摘桃的题目

解决:


'''
猴子吃桃 倍数问题
作者:阿夏
时间:2024年1月20日
''''''
猴子吃桃问题-1
猴子第一天摘了许多桃子,第一天吃了一半,;第二天又吃了一半,
后面每天都是这样吃。到第10天的时候,
猴子发现只有一个桃子了。问猴子第一天共摘了多少个桃子
'''
print('-----问题1----------')
a=[]
n=1
for i in range(10):a.insert(0,n)# insert在0的位置插入,[1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1]# append 在-1位置插入 [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]n=n*2
print(a)print('第 1 天猴子摘了',a[0],'个')for x in range(1,len(a)):    # 把列表0-10倒过来if x==9:print('第',x,'天猴子吃了',a[x],'个','此时只剩下',a[x],'个',)else:print('第',x,'天猴子吃了',a[x],'个')
print('第',x+1,'天猴子没有吃,还剩',a[x],'个')# 第10天=第9天# [512, 256, 128, 64, 32, 16, 8, 4, 2, 1]  # 第 1 天猴子摘了 512 个# 第 1 天猴子吃了 256 个
# 第 2 天猴子吃了 128 个
# 第 3 天猴子吃了 64 个
# 第 4 天猴子吃了 32 个
# 第 5 天猴子吃了 16 个
# 第 6 天猴子吃了 8 个
# 第 7 天猴子吃了 4 个
# 第 8 天猴子吃了 2 个
# 第 9 天猴子吃了 1 个 此时只剩下 1 个
# 第 10 天猴子没有吃,还剩 1 个'''
猴子吃桃问题-02。
猴子第一天摘了许多桃子,
第一天吃了一半,然后忍不住又吃了一个;
第二天又吃了一半,再加上一个;
后面每天都是这样吃。到第10天的时候,
猴子发现只有一个桃子了。问猴子第一天共摘了多少个桃子
'''
print('-----问题2----------')
c=[]
n=1
for i in range(10):c.insert(0,n)# insert在0的位置插入     n=(n+1)*2
print(c)
# 这里是剩余的桃子数量# [1534, 766, 382, 190, 94, 46, 22, 10, 4, 1]  # 这里计算猴子吃的桃子数量
# 计算第一个数与第二个数之间的差值并存入新变量 diff_first_second
a=[]
a.append(c[0]) # 1534个是桃子总数
for y in range(len(c)-1):diff = int(c[y]) - int(c[y+1])# print("第一个数与第二个数之间的差值为:", diff)a.append(diff)
a.append(c[-1]) # 1是第10天剩余的
print(a)print('第 1 天猴子摘了',a[0],'个')for z in range(1,len(a)-1):    if z==9:print('第',z,'天猴子吃了',a[z],'个','此时只剩下',a[z+1],'个',)else:print('第',z,'天猴子吃了',a[z],'个')
print('第',z+1,'天猴子没有吃,还剩',a[-1],'个')# 第10天=第9天#  -----问题2----------
# [1534, 766, 382, 190, 94, 46, 22, 10, 4, 1]   
# [1534, 768, 384, 192, 96, 48, 24, 12, 6, 3, 1]# 第 1 天猴子摘了 1534 个# 第 1 天猴子吃了 768 个
# 第 2 天猴子吃了 384 个
# 第 3 天猴子吃了 192 个
# 第 4 天猴子吃了 96 个
# 第 5 天猴子吃了 48 个
# 第 6 天猴子吃了 24 个
# 第 7 天猴子吃了 12 个
# 第 8 天猴子吃了 6 个
# 第 9 天猴子吃了 3 个 此时只剩下 1 个
# 第 10 天猴子没有吃,还剩 1 个

这篇关于【趣味题-03】20240120猴子吃桃( 从大到小insert ,列表元素互减)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629109

相关文章

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

C++类和对象之初始化列表的使用方式

《C++类和对象之初始化列表的使用方式》:本文主要介绍C++类和对象之初始化列表的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C++初始化列表详解:性能优化与正确实践什么是初始化列表?初始化列表的三大核心作用1. 性能优化:避免不必要的赋值操作2. 强

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa