当前位置:首页 » 编程语言 » 求分数序列前n项和c语言pta
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

求分数序列前n项和c语言pta

发布时间: 2022-11-03 09:25:29

‘壹’ 有一分数序列,2/1,3/2,5/3,8/5,13/8……求出这个数列的前n项和(n由键盘输入)

#include"stdio.h"
int fibonacci(int );
main()
{
int i,n,x,y;
double sum=0.0,t;
printf("请输入n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
x=fibonacci(i+1);
y=fibonacci(i);
t=x*1.0/y;
sum=sum+t;

}
printf("%lf",sum);

}
int fibonacci(int n)//斐波那契数列
{

if(n==1) return 1;
else if(n==2) return 2;
else return fibonacci(n-1)+fibonacci(n-2);
}

这是我自己写的,望采纳

‘贰’ c语言编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

public class 第二十题求数列之和 {

public static void main(String[] args) {

System.out.println("数列的和为:" + getValue(20));

}

//获取第i项的值 2/1,3/2,5/3,8/5,13/8

public static double getValue(int n) {

double a=2; //分子

double b = 1;//分母

double sum = 0; //值

double temp = 0;//临时变量

for(int i = 0; i < n; i++) {

sum += a/b;

temp = a;

a += b;

b = temp;

}

return sum;

}

}

(2)求分数序列前n项和c语言pta扩展阅读:

for循环度是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为问:for(单次表达式;条件表达式;末尾循环体){中间循环体;}

执行过程为:

求解表达式1;

求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第答5步;

求解表达式3;

转回上面第2步继续执行;

循环结束,执行 for 语句下面的语句。

执行过程中,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。

‘叁’ C语言计算一个分数序列的前20项之和

#include
void
main()
{
int
n;
double
s,
t;
s
=
0;
for
(n
=
1;
n
<=
20;
n++)
{
t
=
1.0
/
(2
*
n);//1为整型,如果结果为浮点型,那么要用1.0,
s
=
s
+
t;
}
printf("前20项之和为:%f",
s);//%d改为%f
getchar();
}

‘肆’ 用C语言编写程序编写分数序列的前20项之和

//分数序列如:2\1,3\2.5\3,8\5.13\8,21\13.......的前20项之和。
#include<stdio.h>//直接看这一组数列有什么规律,很容易发现,从2/1开始,后一组的分母为前一组的一个分子
//后一项的分子为前一项的分母分子之和,如果用An表示分母,Bn表示分子,则有递推工式,B(n+1)=An::A(n+1)=An+Bn知道这个就很好办了
float getMe(int n)//这个函数就是求第n项的那个数的值
{
float An=2.0;float Bn=1.0;
float temp;
while(--n)
{
temp=Bn;
Bn=An;
An=An+temp;
}
return(An/Bn);}
void main()
{
int n;
float theSum=0.0;
printf("请输入你想要求的前n项的和:");
scanf("%d",&n);
for(;n>0;n--)
{
theSum=theSum+getMe(n);
}
printf("%f",theSum);
}

‘伍’ 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和

#include <stdio.h>

main() {
double denom[10]={2,3},num[10]={1,2};
int n,i;
double result = denom[0] / num[0];
printf("please enter the number n:");
scanf("%d",&n);
getchar();
for(i=1;i < n;i++){
if(n > 10){
printf("Out of arrange!");
getchar();
exit(0);
}
if(i >= 2){
denom[i] = denom[i-1] + denom[i-2];
num[i] = num[i-1] + num[i-2];
}
result = result + denom[i] / num[i];
};
printf("The summation of %d in the array is %f\n",n,result);
getchar();
}

‘陆’ C语言编程 求序列前N项和

2/1+3/2+5/3+8/5+...这个数列每项的分子、分母分别是Fibonacci数列的后一项与前一项。求这一数列前N项的和可采取N由键盘输入,设一循环按Fibonacci数列规律求出分子与分母,将将分式转换为浮点除法求值累加获得最后结果。举例代码如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
inta,b,i,N;
doubles;
printf("InputN(int0<N<44)... N=");//大于43时int范围溢出
if(scanf("%d",&N)!=1||N<1||N>43){//保证输入正确
printf("Inputerror,exit... ");
return0;
}
for(s=0.0,a=2,b=i=1;i<=N;i++){//由此循环计算
s+=a/(b+0.0);//当前项累加给s
a+=b;//下一项的分子是当前项分子分母之和
b=a-b;//下一项分母是当前项分子
}
printf("Theresultare%.2f(whenN=%d) ",s,N);
return0;
}

试运行结果如下图:

‘柒’ C++编程,有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和.

#include<iostream>
#include<iomanip>
usingnamespacestd;

intmain()
{
intn,i;
cin>>n;
doublea=1,b=2;
doubleresult=0.0;
for(i=0;i<n;++i){
doubletmp=b/a;
result+=tmp;
b=a+b;
a=b-a;
}
cout<<fixed<<setprecision(4)<<result<<endl;
return0;
}

‘捌’ 求分数序列的前n项和的方法c语言

以下的程序求和s=1+1/1!+1/2!+...+1/n!

#include<stdio.h>

int main()

{ double e=1,t=1;

int i,n;

scanf("%d",&n);

for(i=1; i<=n; i++)

{t/=i;

e+=t;

}

printf("%f ",e);

return 0;

}

‘玖’ 求分数序列的前n项和,万分感谢!(C语言)

#include<stdio.h>
intmain()
{
doublesum=0,a=1,b=2;
intn;
scanf("%d",&n);
for(inti=0;i<n;i++)
{
sum+=b/a;
b+=a;
a=b-a;
}
printf("%.4f ",sum);
return0;
}

‘拾’ 编写程序求分数序数2/3,3/5,5/7,8/9....前n项和c语言即可

#include <stdio.h>
main()
{
int a=1,b=2,t,i;
float sum=0;

for(i=1;i<=20;i++;)
{
sum=sum+(float)b/a;
t=a+b;
a=b;
b=t;
}
printf("%d",sum);
}