蓝桥杯省赛 2021 杨辉三角形 python
下面的图形是著名的杨辉三角形:
如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列: 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4,·······
给定一个正整数 N,请你输出数列中第一次出现 N 是在第几个数?
输入描述
输入一个整数 N。
输出描述
输出一个整数代表答案。
输入输出样例
示例 1
输入
6
输出
13
上图并不是我们喜欢的杨辉三角形式,让我们再进行一步转换:
第 0列 | 第 1 列 | 第 2 列 | 第 3 列 | 第 4 列 | 第 5列 | |
---|---|---|---|---|---|---|
第 0 行 | 1 | |||||
第 1 行 | 1 | 1 | ||||
第 2 行 | 1 | 2 | 1 | |||
第 3 行 | 1 | 3 | 3 | 1 | ||
第 4行 | 1 | 4 | 6 | 4 | 1 | |
第 5 行 | 1 | 5 | 10 | 10 | 5 | 1 |
我们知道杨辉三角的第 i行第 j列的值为
用黄色印记标记的数字为我们需要考虑的部分(图一的左侧部分),我们称其为有效部分。
那么不难发现,对于每一列(比如第 i列),它们的有效部分都是从 始的。
而显然,对于同一行,列数越大则对应的数值也越大;对于同一列来说行数越大则数值也越大。也就是说如果某一行的某一列的值为 X,那么在列数不变的情况下,无论行数怎么变大都不会再出现比 X小的数了;同理在行数不变的情况下列数怎么变大也不会再出现比 X小的数了。
于是我们可得,当时,有效列数为第 0∼16 列 (因为第 17列的有效部分是开始的,所以该列无论如何都不可能出现 n了,其它的列就就更不可能了)。
import sys
n=int(input())
def C(a,b):res=1i=aj=1while j<=b:res=int(res*i/j)i-=1j+=1return res
#计算出C(32,16)=601080390,C(34,17)=2333606220
#用二分法从后往前搜索
for k in range(16, -1, -1):l = 2 * kr = max(n, l)res = int(-1)while l <= r:mid = l + r >> 1if C(mid, k) > n:r = mid - 1if C(mid,k)<n:l = mid + 1if C(mid,k)==n:res=midprint((res + 1) * res // 2 + k + 1)sys.exit()
蓝桥杯省赛 2021 杨辉三角形 python相关推荐
- 【蓝桥杯Python组】2022年第十三届蓝桥杯省赛B组Python解题思路详解
第十三届蓝桥杯省赛B组Python解题思路详解 因为今年采用线上的举办方式进行比赛,所以组委会对题目做了一定的调整,将原来的5道填空+5道编程题变成了2道填空+8道编程题,据说是为了防止抄袭.其实题目 ...
- 2018年第九届C/C++ A组蓝桥杯省赛真题(python)
2018年第九届C/C++ A组蓝桥杯省赛真题 第一题:哪天返回 题目描述 小明被不明势力劫持.后莫名其妙被扔到x星站再无问津.小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文. 他 ...
- 2022第十三届蓝桥杯省赛B组Python
本来蓝桥杯是 5 道填空题,5 道编程题,但是这一届突然变成了 2 道填空题和 8 道编程题 文章目录 试题 A: 排列字母 试题 B: 寻找整数 试题 C: 纸张尺寸 试题 D: 数位排序 试题 E ...
- 2021年第十二届蓝桥杯省赛第二场Python组(真题+解析+代码):双阶乘
1 真题 2 解析 难度系数:⭐ 考察题型:数论 涉及知识点: 双阶乘 思路分析: 啊这,竟然遇到了小学数学题:找规律.老铁,拿捏了! 规律:后一项都比前一项少个2,2021!!=2021*2019* ...
- 竞赛——【蓝桥杯】2022年11月第十四届蓝桥杯模拟赛第一期Python
1.二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数,在二进制中对应 10 ,是 2 位数. 十进制整数 22 在十进制中是 2 位数,在二进制中对应 10110 ,是 5 位数. 请问十 ...
- 2022年第十三届蓝桥杯省赛B组python 试题F:消除游戏
文章目录 题目 完整代码及注释 题目 完整代码及注释 s = list('sdfhhhhcvhhxcxnnnnshh') # 读入数据 pre = s f = False for i in range ...
- 2018年第九届C/C++ A组蓝桥杯省赛真题 python解法
第一题:哪天返回 题目描述 小明被不明势力劫持.后莫名其妙被扔到x星站再无问津.小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文. 他决定在x星战打工.好心的老板答应包食宿,第1天给 ...
- 蓝桥杯青少创意编程python组
第十二届蓝桥杯青少年组国赛C++中级组 第1题 -- 第3题(python3实现) 第十二届蓝桥杯青少年组国赛C++中级组 第1题 -- 第3题(python3实现)_dllglvzhenfeng的博 ...
- 2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解
2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解 文章目录 2021年软件类第十二届蓝桥杯 省赛 python组 F-J题解 试题 F:时间显示 题目描述 输入描述 输出描述 输入输出 ...
- 【蓝桥杯真题】2021年蓝桥杯省赛A组题目解析+代码(python组)
2021年蓝桥杯省赛A组题解(python组) 来自微信公众号:算法梦工厂,二维码见文末. 欢迎加入蓝桥杯备赛群:768245918,获取往届试题,测试数据,算法课程等相关资源. A:卡片 答案:31 ...
最新文章
- php正则判断不规范字符串,php学习_第9章_字符串处理与正则表达式
- 奇异值的物理意义是什么?强大的矩阵奇异值分解(SVD)及其应用
- 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )
- base--AuditResult
- 将给出的整数x翻转_每日一题:1.罗马数字转整数
- python-迭代器
- mysql主从同步面试题_面试被问MySQL 主从复制,怎么破?
- 移动硬盘无法休眠了?
- 记一次 AXI -id debug
- Rust : 闭包、move 与自由变量的穿越
- Struts2框架的概念及使用方法
- 在xp IIS上搭建动易论坛注意事项
- Docker 学习笔记 -- kuangshen Docker 视频学习笔记
- SQLite的主键外键
- MPQ 文件系统完成
- 关于Python、R、VBA、SAS的生成批量变量名与动态变量引用的问题
- WPF无边框窗体拖动
- Java打印折纸游戏
- 退出计算机控制如何恢复,在您退出大势至U盘禁用软件、电脑U口屏蔽软件之后如何取消U盘写保护功能、恢复向U盘复制文件的功能?...
- 2014 ACM亚洲区域赛 - 北京现场赛
热门文章
- 高等数学(第七版)同济大学 习题1-4 个人解答
- VSCode配置vue用户代码片段Snippets
- 视频联网云平台EasyCVR集成海康EHome协议系列——配置及协议介绍
- linux vi带 替换,vim替换命令_Linux vi/vim替换命令使用集锦
- html5验证码制作,Html5生成验证码的示例代码
- 阿里巴巴矢量图标 iconfont 下载图标分辨率小一点、并占得内存小一点呢
- 人工智能导论(专家系统)
- 【MATLAB教程案例11~20总结】优化类算法matlab仿真经验和技巧总结
- 常用命令之svnadmin命令
- mysql忘记密码怎样重置