观察表达式的规律,计算前n项的和

观察下列表达式的规律,计算前n项的和

2/1 + 3/2 +5/3 +8/5 +13/8+ 21/13

思路:不能由斐波那契额数推分母分子分别为前两项分母分子的和,因为n == 100时,斐波那契数会很大,超出范围,所以找规律:F(n) = 1/F(n-1)+1;

#include <stdio.h>
#include <iostream>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <ctype.h>
#include <time.h>
#include <queue>
#include <iterator>

using namespace std;

int n;
double a = 2;

int main()
{
	while (cin >> n)
	{
		double sum = 2;
		double b = a;
		for (int i = 2; i <= n; i++)
		{
			sum += 1 / b + 1;
			b = 1 / b + 1;
		}
		cout << sum << endl;
	}
	return 0;
}

时间: 2024-10-11 11:50:15

观察表达式的规律,计算前n项的和的相关文章

编写前n项阶乘之和.java

public class C3_17 {      public static void main(String[] args)     {             int n=1,m,s,k=0;             while(n<=8)         {                     for(s=1,m=1;m<n;m++)                 s=s*m;//计算n!,结果存于s中             k=k+s;//计算前n项阶乘之和,结果存于k中  

计算出前N项的数据

#include<iostream> #include<algorithm> #include<numeric> using namespace std; const int N = 10; int helper(int* a,const int num1,const int num2) { int i=1; int j=1; for(int m = 0;m<N;m++) { int tempi = i*num1; int tempj = j*num2; if(t

循环-26. 求给定序列前N项和之四

循环-26. 求给定序列前N项和之四(15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 来源 ZOJ 本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后3位.题目保证计算结果不超过双精度范围. 输入样例: 10 输出样例: sum = 0.819 1 #incl

码农谷 求前N项之和

题目描述 有一分数序列:2/1.3/2.5/3.8/5.13/8.21/13.......求出这个数列的前N项之和,保留两位小数. 输入描述 N 输出描述 数列前N项和 样例 输入: 10 输出: 16.48 第一次code: 使用递归: 1 import java.util.*; 2 import java.math.BigDecimal; 3 4 public class jisuanrong 5 { 6 public static double SimpleAdding(int num)

循环-28. 求给定序列前N项和之六

循环-28. 求给定序列前N项和之六(15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 来源 ZOJ 本题要求编写程序,计算序列 2^1 + 22 + 23 + ... 的前N项之和. 输入格式: 输入在一行中给出一个不超过30的正整数N. 输出格式: 在一行中按照“sum = S”的格式输出部分和的整数值S. 输入样例: 5 输出样例: sum = 62 1 #include<stdio.h> 2 #include<ma

循环-25. 求给定序列前N项和之三

循环-25. 求给定序列前N项和之三(15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 来源 ZOJ 本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位.题目保证计算结果不超过双精度范围. 输入样例: 23 输出样例: sum = 2.549541 1 #include<

循环-24. 求给定序列前N项和之二

循环-24. 求给定序列前N项和之二(15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 来源 ZOJ 本题要求编写程序,计算序列 1! + 2! + ... 的前N项之和. 输入格式: 输入在一行中给出一个不超过12的正整数N. 输出格式: 在一行中输出整数结果. 输入样例: 5 输出样例: 153 1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib

循环-10. 求序列前N项和(15)

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和.注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子. 输入格式: 输入在一行中给出一个正整数N. 输出格式: 在一行中输出部分和的值,精确到小数点后2位.题目保证计算结果不超过双精度范围. 输入样例: 20 输出样例: 32.66 #include <iostream> #include <stdio.h> using namespace std; int main(){ i

常系数线性递推的第n项及前n项和 (Fibonacci数列,矩阵)

(一)Fibonacci数列f[n]=f[n-1]+f[n-2],f[1]=f[2]=1的第n项的快速求法(不考虑高精度). 解法: 考虑1×2的矩阵[f[n-2],f[n-1]].根据fibonacci数列的递推关系,我们希望通过乘以一个2×2的矩阵,得到矩阵[f[n-1],f[n]]=[f[n-1],f[n-1]+f[n-2]] 很容易构造出这个2×2矩阵A,即: 0 1 1 1 所以,有[f[1],f[2]]×A=[f[2],f[3]] 又因为矩阵乘法满足结合律,故有: [f[1],f[2