當前位置:首頁 » 編程語言 » 求分數序列前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);
}