晚上下班前再做一道题目,感觉题目看起来就很简单的样子,短短的几行,读完之后的确是很简单,就是给定一个序列求解序列的前n项的和,好了不多说别的了,因为很简单直接看代码:

#!/usr/bin/env python
#coding:utf-8
from __future__ import division
'''
有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。
输入
测试数据有多组,其第一行为一个正整数k(0<k<=90),表示测试数据的组数。每组测试数据为一行,
为单个正整数n(0<n<=90)。
样例输入
1
2
输出
每组测试数据单独输出有一行:分数序列的和(精确到小数点后4位)。
样例输出
3.5000
时间限制
C/C++语言:1000MS
其他语言:3000MS
内存限制
C/C++语言:65536KB
其他语言:589824KB
'''def fibs(a,b,num):# result=[0,1]result=[a,b]for i in range(num-2):result.append(result[-2]+result[-1])return resultlist1=fibs(2,3,100)
list2=fibs(1,2,100)
num_list=zip(list1, list2)
#print num_list
k=int(raw_input())
for i in range(k):n=int(raw_input())count=0for j in range(n):# count+=round(num_list[j][0]/num_list[j][1], 4)count+=num_list[j][0]/num_list[j][1]print '%.4f' %count

当然,我的解决办法很简单粗暴,看出来分子和分母都单独是一个斐波那契数列,所以果断单独处理,写了一个生成前n项斐波那契数列的函数之后分别生成两个斐波那契数列就可以了,接下来使用的是python内置函数zip来组合数字,每一个分数在这里是一个列表里面的元组。
        在这里提交的时候遇到了一个问题就是:

# count+=round(num_list[j][0]/num_list[j][1], 4)

这句话导致第一次提交AC只有17%左右的正确率,其实这么写的时候我就感觉结果会有问题,因为每一次累加都保留了的话就会对最后的结果造成误差,果然还是错了,换成程序中的下面的那句话后就全部AC了,如下:

说明:所有测试数据均已输出正确结果!^_^

面试机试之序列前n项和相关推荐

  1. C语言入门题-求阶乘序列前N项和

    7-1求阶乘序列前N项和 (15分) 本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出整数结果. 输入 ...

  2. 实验4-1-6 求分数序列前N项和 (15 分)

    实验4-1-6 求分数序列前N项和 (15 分) 本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+- 的前N项之和.注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的 ...

  3. 实验2-4-4 求阶乘序列前N项和 (C语言)

    实验2-4-4 求阶乘序列前N项和 (C语言) 本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出整数结 ...

  4. 实验2-4-3 求平方根序列前N项和 (C语言)

    实验2-4-3 求平方根序列前N项和 (C语言) 本题要求编写程序,计算平方根序列√1+√2+√3+⋯的前N项之和.可包含头文件math.h,并调用sqrt函数求平方根. 输入格式: 输入在一行中给出 ...

  5. 2021/7/15 习题2-6 求阶乘序列前N项和

    习题2-6 求阶乘序列前N项和 本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出整数结果. 输入样例: ...

  6. C语言:习题2-5 求平方根序列前N项和.2021-08-02

    习题2-5 求平方根序列前N项和 (15 point(s)) 本题要求编写程序,计算平方根序列1​+2​+3​+⋯的前N项之和.可包含头文件math.h,并调用sqrt函数求平方根. 输入格式: 输入 ...

  7. 求幂级数展开的部分和 / 求分数序列前N项和 / 特殊a串数列求和

    习题4-2 求幂级数展开的部分和   (20分) 已知函数e^xe​x​​可以展开为幂级数1+x+x^2 /2! + x^3 /3! + \cdots + x^k /k! + \cdots1+x+x​ ...

  8. 求奇数分之一序列前N项和

    练习2-14 求奇数分之一序列前N项和   (15分) 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一 ...

  9. C语言练习2-14 求奇数分之一序列前N项和

    C语言练习2-14 求奇数分之一序列前N项和 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + - 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照&qu ...

  10. 韩信点兵--求分数序列前N项和--特殊a串数列求和--猜数字游戏

    实验4-1-5 韩信点兵 (10分) 在中国数学史上,广泛流传着一个"韩信点兵"的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳.据说韩信的数学水平 ...

最新文章

  1. leetcode 102.二叉树的层序遍历
  2. Qt安装和QML HelloWord程序
  3. /etc/passwd 与 /etc/shadow文件的区别
  4. C/C++之#ifdef、#if、#if defined的区别
  5. 最高效的进(线)程间通信机制--eventfd
  6. SecureCRT 中文乱码问题
  7. linux下带密码的scp,linux下带密码的scp
  8. pc显示器分辨率 前端_明基透露索尼PS5可提供1440p分辨率选项
  9. 解决: Mysql安装时mysqld.exe报`应用程序无法正常启动(0xc000007b)`的问题
  10. 自定义Android中Dialog的弹出动画
  11. thinkPHP 空模块和空操作、前置操作和后置操作 详细介绍(十四)
  12. Reverse Integer(C++)
  13. iOS的iPhone最全尺寸、分辨率、PPI、Reader总结(包括XS、XS Max、XR)
  14. 商标有效期、续展期、宽展期分别是什么意思?
  15. 大学计算机课程日记,大学计算机实习日记
  16. linux驱动系列学习之DRM(十)
  17. 各国晶体三极管型号命名方法
  18. 实战案例|拒绝信息泄露,腾讯云助力电商对抗网络爬虫
  19. 【企业微信】JS-SDK引入实现向企微群聊发送图文消息
  20. MQTT服务的Qos

热门文章

  1. 数据库专家:MySQL分片水很深
  2. web FG interview all
  3. android View使用shape作为背景不能指定单边圆角的xml
  4. [极客]每个极客都应该知道的Linux技巧 (1)
  5. STL之set的应用
  6. 十八、完成登录与注册页面的前端
  7. vue组件(Vue+webpack项目实战系列之三)
  8. jQuery 文档操作方法 (四)
  9. PL/SQL 包头和包体
  10. 在emacs编辑的文本中插入图片 并直接在文本里显示该图片(转载)