求分数序列和

总时间限制: 
1000ms

内存限制: 
65536kB
描述

有一个分数序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如这个序列前6项分别是2/1,3/2,5/3,8/5,13/8,21/13。

求这个分数序列的前n项之和。

输入
输入有一行,包含一个正整数n(n <= 30)。
输出
输出有一行,包含一个浮点数,表示分数序列前n项的和,精确到小数点后4位。
样例输入
2
样例输出
3.5000
最重要的是理解题目的意思!
思路:
  如果仅仅只看分子的话,2,3,5,8,13,21就很容易的想到"斐波那契!".
  如果仅仅只看分母的话,1,2,3,5,8,13也是很容易的想到"斐波那契!".
  但是我们如果分子求一遍斐波那契,分母再求一遍,这是非常麻烦的一件事,所以我们大可以将题目中直接给出的公式: 
      q i+1= q+ pi, p i+1=qi, p1= 1, q1= 2;
  来进行递推!
递推:
 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath> using namespace std; int n;//1≤n≤30
//q/p
//q i+1= qi+ pi, p i+1=qi, p1= 1, q1= 2 int main()
{
scanf("%d",&n);
double qi=,pi=,ans,tmp,qwq;
for(int i=;i<=n;i++)
{
tmp=qi;//先保存记录下qi的值
qwq=qi/pi;//记录下来当前分数的值
qi=tmp+pi;//更新qi
pi=tmp;//更新pi
ans+=qwq;//更新答案
}
printf("%.4lf",ans);
return ;
}

noi 求分数序列和 x的更多相关文章

  1. 39. 求分数序列前N项和

    求分数序列前N项和 #include <stdio.h> int main() { int i, n; double numerator, denominator, item, sum, ...

  2. OpenJudge计算概论-求分数序列和

    /*======================================================================== 求分数序列和 总时间限制: 1000ms 内存限制 ...

  3. Openjudge-计算概论(A)-求分数序列和

    描述: 有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和.输入输入有一行:正整数n.输出输出有一行:分数序列的和(浮点数,精确到小数点后4位) ...

  4. 求分数序列的前n项之和

    有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和. 输入 测试数据有多组,其第一行为一个正整数k(0<k<=90),表示测试数据的 ...

  5. Python练习题 019:求分数序列之和

    [Python练习题 019] 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. --------------------------------- ...

  6. 有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13....求出这个数列的第M到N项之和(M>2,N>2,N>M)

    package bianchengti; /* * 有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13.... * 求出这个数列的第M到N项之和(M>2,N>2, ...

  7. Codeup 25609 Problem I 习题5-10 分数序列求和

    题目描述 有如下分数序列 2/1,3/2,5/3,8/5,13/8,21/13 - 求出次数列的前20项之和. 请将结果的数据类型定义为double类型. 输入 无 输出 小数点后保留6位小数,末尾输 ...

  8. [zz]求一维序列的信息熵(香浓熵)的matlab程序实例

    对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵.    但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的, ...

  9. 20. 求阶乘序列前N项和

    求阶乘序列前N项和 #include <stdio.h> double fact(int n); int main() { int i, n; double item, sum; whil ...

随机推荐

  1. flask response 详解

    from flask import Flask,Response,jsonify #Flask = werkzeug(处理网络的) + sqlalchemy(处理数据库的) + jinja2 (处理模 ...

  2. Shell 变量详解教程之位置变量与预定义变量

    Shell 变量分为3部分,分别是用户自定义变量.位置变量和预定义变量. 一.   自定义变量 那么,什么是变量呢?简单的说,就是让某一个特定字符串代表不固定的内容,用户定义的变量是最普通的Shell ...

  3. Win10 开启 热点的简单办法

  4. [转帖]56核Xeon Platinum 9200现身 - 英特尔有史以来最大的CPU封装

    56核Xeon Platinum 9200现身 - 英特尔有史以来最大的CPU封装 https://www.cnbeta.com/articles/tech/835271.htm 当英特尔宣布上周正式 ...

  5. Ubuntu原生源

    #deb cdrom:[Ubuntu 18.04.3 LTS _Bionic Beaver_ - Release amd64 (20190805)]/ bionic main restricted # ...

  6. 小记---------有关hadoop的HDFS命令行操作

      HDFS命令操作 首先需要在xshell启动hadoop start-all.sh  or start-hdfs.sh hadoop fs -ls /        (显示当前目录下所有文件) h ...

  7. CMDB 理论

    TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Comput ...

  8. window下的php命令行输出汉字乱码处理

    1. 在php的代码中加入 header("content-type:text/html;charset=gbk"); 2. 设置命令行的字体 在命令行上右击属性 字体 选择如下字 ...

  9. PHP常用代码片段

    /** * 高效判断远程文件是否存在 * @param $file * @return bool 存在返回 true 不存在或者其他原因返回false */ function remoteFileEx ...

  10. 机器学习-SVM中的SMO算法详解