求分数序列和(专业C++实验3)
题目描述有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。 输入描述输入有一行:正整数n。 输出描述输出有一行:分数序列的和(浮点数,精确到小数点后4位)。
可以使用printf(“%.4lf\n”, a)输出浮点数并精确到小数点后4位。
使用printf函数必须包括#include<stdio.h> 输入样例99 输出样例160.4849
#include <iostream>
#include<stdio.h>
using namespace std;
int main()
{
int n,p;
double m,o,s,sum ;
cin>>n;
m=1,o=1,s=0,sum=o;
for (p=1;p<n;p++)
{
m=o;
o=o+m;
s=o/m;
sum += s;
}
printf("?.4lf\n", sum)
cout<<sum<<endl;
return 0;
}
...有一个分数序列 2\/1,3\/2,5\/3,8\/5,13\/8,21\/13,... 求这个分数序列的前...
应为 当n=99时 o 和 m都已经超过了double的表示范围了,所以如果要运算到99 可能你要另想办法了(考虑一下怎么表示这么大的数字3314859971或者想办法找到这个问题的通项式)。具体参考斐波纳契数列。ps :越往后面s越接近黄金比例 int n,p;double m,o,s,sum ;cin>>n;m=1,o=1,s=0,sum=0...
...有一个分数序列 2\/1,3\/2,5\/3,8\/5,13\/8,21\/13,... 求这个分数序列的前...
i; cin>>n; double a=1,b=2; double result = 0.0; for(i=0;i<n;++i) { double tmp = b\/a; result +=tmp; b = a+b; a = b-a; } cout<<fixed<<setprecision(
...有一个分数序列 2\/1,3\/2,5\/3,8\/5,13\/8,21\/13,... 求这个分数序列的前...
i; cin>>n; double a=1,b=2; double result = 0.0; for(i=0;i<n;++i) { double tmp = b\/a; result +=tmp; b = a+b; a = b-a; } cout<<fixed<<setprecision(
...有一分数序列:2\/1,3\/2,5\/3,8\/5,13\/8,21\/13...求出这个数列的前20项...
我写一个c++程序吧 int a=1,b=2,temp=0,count=0;for(int i=0;i<20;i++){ count+=b\/a; \/\/总和加上第i+1项的值 \/\/接下来计算这个叠加数列(因为1+2=3,2+3=5,3+5=8,5+8=13...)temp=a+b; \/\/中间变量值为a+b和 a=b; \/\/新的a代替旧的b b=temp; \/\/...
求1\/2+3\/2+5\/3+8\/5+13\/8...前20项的和。用C++。
题目:有一分数序列:2\/1,3\/2,5\/3,8\/5,13\/8,21\/13...求出这个数列的前20项之和。1.程序分析:请抓住分子与分母的变化规律。2.程序源代码:main(){ int n,t,number=20;float a=2,b=1,s=0;for(n=1;n<=number;n++){ s=s+a\/b;t=a;a=a+b;b=t;\/*这部分是程序的...
C++求数列的和。 1,1,2,3,5,8,13,21... 写一个函数 int sumofsequence...
include <iostream> using namespace std;int fac(int n){ if(1==n||2==n)return 1;else return fac(n-2)+fac(n-1);} int main(){ int N;int i;long sum=0;cin>>N;for(i=1;i<=N;i++){ sum +=fac(i);} cout<<sum<<endl;} \/\/我直接放在主函数中了,你修改一下...
...程序求下列分数序列前15项的和。2\/1 ,3\/2 ,5\/3 ,8\/5 , 13\/8 ,…
=a[i]+a[i+1];b[i+2]=b[i]+b[i+1];cout<<"数列的第"<<i+3<<"个数为"<<a[i+2]<<"\/\/"<<b[i+2]<<endl;adding=adding+Franction(a[i+3],b[i+3]);} return adding;} 结果:这个最终结果有点问题。我再看看。还有吧Cout有个地方的双\/\/换成\/好长时间没写了。
用C++编写求出数列2\/1,3\/2,5\/3,8\/5,13\/8,……的前20项之和
!include<iostream> using namespace std;void main(){ double s=0;int a[20]={2,3},b[20]={1,2};for(int i=2;i<20;i++){ a[i]=a[i-1]+a[i];b[i]=b[i-1]+b[i];s+=a[0]*1.0\/b[0]+a[1]*1.0\/b[1]+a[i]*1.0\/b[i];} cout<<s<<endl;} ...
求数列:2\/1,3\/2,5\/3,8\/5,13\/8,21\/13,……前50项之和。(按四舍五入
cout.precision(2);cout<<"\\n结果为: "<<getSum(n)<<endl;return 0;数列 是以正整数集(或它的有限子集)为定义域的函数,是一列有序的数。数列中的每一个数都叫做这个数列的项。排在第一位的数称为这个数列的第1项(通常也叫做首项),排在第二位的数称为这个数列的第2项,以此类推...
用c++编写1\/2-3\/5+8\/13-21\/34,,,前20项之和
include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){int i;float m = 2, z = 1;float sum = 0, j = 1, k = 2;for (i = 1; i <= 20; i++){ \/\/求和sum = j*z \/ m + sum;\/\/控制符号j = j*(-1);k = m;\/\/新的分母=原来分母2倍+分子m = 2 * m...