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组 分数相关推荐

  1. [第九届蓝桥杯省赛C++B组]明码

    题目来源:第九届蓝桥杯省赛C++B组 算法标签:位运算 题目描述:明码 汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛. 16点阵的字库把每个汉字看成是16x16个像素信息.并把这些 ...

  2. 关于2018年第九届蓝桥杯省赛(江苏赛区)

    为啥到现在才写呢...就是懒,是真的懒.题也没刷几个 (下面题目的超链接转自这里,并不是本人解法..只是因为有题目还有题解) 4.1举行的蓝桥杯也可以说是"愚人杯"了 早早的跟同学 ...

  3. 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间

    航班时间 [问题背景] 小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小h对超音速飞行 ...

  4. 2018年第九届蓝桥杯省赛C/C++ A组(蒻鸡自己写的,看不上勿喷,自己的一点想法)

    第一题 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + -. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前 ...

  5. 航班时间(第九届蓝桥杯省赛C++A组)

    小 h 前往美国参加了蓝桥杯国际赛. 小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小 h 对超音速飞行感到十 ...

  6. 2018年第九届蓝桥杯国赛B组C++真题汇总

    1. 换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱. 小明有点强迫症,他坚持要求200元换 ...

  7. 2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - G.螺旋折线

    螺旋折线 如图p1.png所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, 1)= ...

  8. 2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - F.递增三元组

    递增三元组 给定三个整数数组 A = [A1, A2, - AN], B = [B1, B2, - BN], C = [C1, C2, - CN], 请你统计有多少个三元组(i, j, k) 满足: ...

  9. 2018年第九届蓝桥杯 - 省赛 - Java大学A组 - A.复数幂

    复数幂 设i为虚数单位. 对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂,这个数字很大,要求精确表示. 答案写 ...

最新文章

  1. ​两大顶级AI算法一起开源!Nature、Science齐发Alphafold2相关重磅,双厨狂喜~
  2. Flask项目常见面试问题
  3. 百度网盘的这个收作业的功能不好用
  4. java file pathname_int compareTo(File pathname)
  5. Greenplum【集群搭建 01】局域网 CentOS 7.9.2009 环境 GreenPlum 6.13.0 集群规划+配置+安装+内核参数调整(应用实例分享)
  6. 如何设置Jupiter Notebook服务器并从任何地方访问它(Windows 10)
  7. 009-MailUtils工具类模板
  8. 《深度学习》学习的TIP
  9. QA:mongoose中设置virtual后不工作问题
  10. 【C#】通过正则表达式对TextBox进行校验
  11. 凯恩帝1000C语言,数控车床编程实例(KND系统)
  12. java csrf 跨域_Django跨域请求CSRF的实例方法
  13. 【Java】Java基础
  14. 无线AP和无线路由器区别 wifi热点
  15. 如何最大程度的提高效率?ie分析软件为效率提高带来无限可能
  16. 深度学习小白装机-记录一下
  17. 就..而言as far as ..is concerned
  18. 阿达(Ada Lovelace)
  19. 24点_24点研究_24点结论_python
  20. 计算机网络安全分析及防范措施,计算机网络安全分析及防范措施--毕业论文.doc...

热门文章

  1. EI主题词新版界面查询-Engineering Village
  2. DNS服务器的配置以及相关知识
  3. Vbs脚本经典教材(转)
  4. 计算机技术在医学应用中的论文,试论计算机技术在口腔医学中的应用
  5. linux命令行安装 php_如何在 Linux 命令行中使用和执行 PHP 代码
  6. 软件测试--基础知识1--测试简介、软件质量等
  7. codeforces 1569 D. Inconvenient Pairs
  8. 身份证正反面复印简单示意图
  9. NLP自然语言处理之基于BiLstm的短文本情感分析
  10. 查看基于Android 系统单个进程内存 CPU使用情况的几种方法