7.python解答2018年第九届蓝桥杯省赛C++A组 分数
7.python解答2018年第九届蓝桥杯省赛C++A组 分数
标题:分数
1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …
每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。
类似:3/2
当然,这只是加了前2项而已。分子分母要求互质。
注意:
需要提交的是已经约分过的分数,中间任何位置不能含有空格。
请不要填写任何多余的文字或符号。
答案:1048575/524288
思路:可以用等比求和公式Sn=a1(1-q^n)/(1-q) 来计算,算出来是1048575/524288,如果不确定分子分母是否互质的话可以再来个gcd。
代码
方式1
因为算出来220-1 和219是互质的可以使用python内置**
计算运算符
print('{}/{}'.format(2**20-1, 2**19))
# 1048575/524288#如果不知道互质,使用gcd函数检查
import math
a = math.gcd(2**20-1, 2**19)
方式2,通过二进制移位
print('{}/{}'.format((1<<20) - 1, 1<<19)) # 移位运算符比 - 优先级低
方式3.模仿C语言解法
# 分数
# 求最大公约数
def gcd(a,b):if(b==0):return areturn gcd(b, a%b)
# 快速求指数幂
def pow_e(e, b):x = eres = 1while b>0:if b&1:res *= x;b >>= 1x = x*xreturn resa = pow_e(2,20) - 1
b = pow_e(2,19)
g = gcd(a,b)if g==1:print('{}/{}'.format(a,b))
else:print('{}/{}'.format(int(a/g),int(b/g)))
7.python解答2018年第九届蓝桥杯省赛C++A组 分数相关推荐
- [第九届蓝桥杯省赛C++B组]明码
题目来源:第九届蓝桥杯省赛C++B组 算法标签:位运算 题目描述:明码 汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛. 16点阵的字库把每个汉字看成是16x16个像素信息.并把这些 ...
- 关于2018年第九届蓝桥杯省赛(江苏赛区)
为啥到现在才写呢...就是懒,是真的懒.题也没刷几个 (下面题目的超链接转自这里,并不是本人解法..只是因为有题目还有题解) 4.1举行的蓝桥杯也可以说是"愚人杯"了 早早的跟同学 ...
- 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间
航班时间 [问题背景] 小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小h对超音速飞行 ...
- 2018年第九届蓝桥杯省赛C/C++ A组(蒻鸡自己写的,看不上勿喷,自己的一点想法)
第一题 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + -. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前 ...
- 航班时间(第九届蓝桥杯省赛C++A组)
小 h 前往美国参加了蓝桥杯国际赛. 小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小 h 对超音速飞行感到十 ...
- 2018年第九届蓝桥杯国赛B组C++真题汇总
1. 换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换 ...
- 2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - G.螺旋折线
螺旋折线 如图p1.png所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, 1)= ...
- 2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - F.递增三元组
递增三元组 给定三个整数数组 A = [A1, A2, - AN], B = [B1, B2, - BN], C = [C1, C2, - CN], 请你统计有多少个三元组(i, j, k) 满足: ...
- 2018年第九届蓝桥杯 - 省赛 - Java大学A组 - A.复数幂
复数幂 设i为虚数单位. 对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示. 答案写 ...
最新文章
- ​两大顶级AI算法一起开源!Nature、Science齐发Alphafold2相关重磅,双厨狂喜~
- Flask项目常见面试问题
- 百度网盘的这个收作业的功能不好用
- java file pathname_int compareTo(File pathname)
- Greenplum【集群搭建 01】局域网 CentOS 7.9.2009 环境 GreenPlum 6.13.0 集群规划+配置+安装+内核参数调整(应用实例分享)
- 如何设置Jupiter Notebook服务器并从任何地方访问它(Windows 10)
- 009-MailUtils工具类模板
- 《深度学习》学习的TIP
- QA:mongoose中设置virtual后不工作问题
- 【C#】通过正则表达式对TextBox进行校验
- 凯恩帝1000C语言,数控车床编程实例(KND系统)
- java csrf 跨域_Django跨域请求CSRF的实例方法
- 【Java】Java基础
- 无线AP和无线路由器区别 wifi热点
- 如何最大程度的提高效率?ie分析软件为效率提高带来无限可能
- 深度学习小白装机-记录一下
- 就..而言as far as ..is concerned
- 阿达(Ada Lovelace)
- 24点_24点研究_24点结论_python
- 计算机网络安全分析及防范措施,计算机网络安全分析及防范措施--毕业论文.doc...
热门文章
- EI主题词新版界面查询-Engineering Village
- DNS服务器的配置以及相关知识
- Vbs脚本经典教材(转)
- 计算机技术在医学应用中的论文,试论计算机技术在口腔医学中的应用
- linux命令行安装 php_如何在 Linux 命令行中使用和执行 PHP 代码
- 软件测试--基础知识1--测试简介、软件质量等
- codeforces 1569 D. Inconvenient Pairs
- 身份证正反面复印简单示意图
- NLP自然语言处理之基于BiLstm的短文本情感分析
- 查看基于Android 系统单个进程内存 CPU使用情况的几种方法