第十五届蓝桥杯复盘python大学A组——试题C 数字诗意

在这里插入图片描述
在这里插入图片描述

思路

数字可以分为

在这里插入图片描述

有诗意的数字可以写成 (i+j)(j-i+1)/2 ( i、j都是正整数 )

i+j 、j-i+1 的奇偶性不同(因为i、j都是正整数)
在这里插入图片描述

因此,
如果一个数是奇数就一定有诗意
eg.3=1+2 ,5=2+3,7=3+4,9=4+5…
原因:根据上述分析得出有诗意的数字一定是 奇数 * 偶数 /2 。一个奇数=该奇数 *2 /2.
eg 3=3 * 2/2

是奇数 * 2的次方的偶数一定有诗意
eg 10=1+2+3+4
原因:根据上述分析得出有诗意的数字一定是 奇数 * 偶数 /2 。奇数 * 偶数=该奇数 * 该偶数 *2 /2.
eg 10=5 * 2 * 2 / 2,2、5的奇偶性不同

所有2的幂次方都没有诗意(1也没有诗意,题目要求至少两个连续的数)。

1、打表验证1~100中没有诗意的数字是2的次方

在这里插入图片描述

2、判断一个数是不是2的次方数

法一:math.log2(n).is_integer() 简单粗暴

在这里插入图片描述

法二:奇数一定不是2的次幂。但是偶数也不一定是2的次方,如果这个偶数的最小因数全是2则是2的次方,如果最小因数含有奇数则不是。

3、题目代码实现

方法一:

在这里插入图片描述

方法二:

在这里插入图片描述

4、python中map的用法

在Python中,map()是一个内置函数,它接收一个函数和一个或多个可迭代对象(如列表、元组等),然后将该函数应用于可迭代对象的每一个元素,并返回一个新的迭代器。(非列表,要获得列表要再转一下)

下面是map()函数的基本用法和几个示例:

map(function, iterable, …)

function:一个应用于每个可迭代对象的元素的函数。
iterable:一个或多个可迭代对象。

示例1:基本使用
在这里插入图片描述

示例2:应用于多个可迭代对象

map()函数也可以同时处理多个可迭代对象。例如,如果我们有两个列表,并想要将它们中的对应元素相加:
在这里插入图片描述

示例3:使用内置函数

我们也可以使用内置函数作为map()的第一个参数。例如,如果我们想要将列表中的每个字符串都转换为大写:
在这里插入图片描述

  • 20
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值