【趣味题-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

相关文章

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

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python展开嵌套列表的多种方法

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、嵌套列表格式二、嵌套列表展开方法(一)for循环(1)for循环+append()(2)for循环+pyPhWiFd

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定