1. 程式人生 > >經典c程式(0019)----求分數數列的前20項之和

經典c程式(0019)----求分數數列的前20項之和

/**************************************************************************************
* Function     : test
* Create Date  : 2014/04/16
* Author       : NTSK13
* Email        : [email protected]
* Copyright    : 歡迎大家和我一起交流學習,轉載請保持原始檔的完整性。
                     任何單位和個人不經本人允許不得用於商業用途 
* Version      : V0.1
***************************************************************************************
    經典c程式(0019)

題目:題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。

**************************************************************************************/
#include<stdio.h>

#define MY_FUNC  1
#if MY_FUNC

float sequence(int n);
int seq_up(int n);
int seq_down(int n);
int main()
{
        int i=0,n=0;
        float ret=0;

      	printf("plz input number n: \n");
       	fflush(stdout);
       	scanf("%d",&n);

        for(i=1;i<n+1;i++)
        {
        	ret+=sequence(i);
        }

        printf("The sum of n sequence is : %f \n",ret);
        fflush(stdout);

        return (0);
}

float sequence(int n)
{
	return (float)seq_up(n)/(float)seq_down(n);// notice
}
int seq_up(int n)
{
	if(n==1)
		return (2);
	else
		return seq_down(n-1)+seq_up(n-1);
}

int seq_down(int n)
{
	if(n==1)
		return (1);
	else
		return seq_up(n-1);

}
#else

int main()

{
	int n,t,number=5;
	float a=2,b=1,s=0;
	for(n=1;n<=number;n++)
	{
		s=s+a/b;
		t=a;
		a=a+b;
		b=t;/*這部分是程式的關鍵,請讀者猜猜t的作用*/
	}
	printf("sum is %9.6f\n",s);
}

#endif

相關推薦

經典c程式(0019)----分數數列20之和

/************************************************************************************** * Function

C語言】Fibonacci數列40(迴圈)

程式碼為:  //求Fibonacci數列前40項 #include "stdio.h" int main(){ long int f1,f2,i; f1 = 1; f2 = 1; //賦初始值 for(i = 1;i<=20;i++){//迴圈20次,一次兩個,結

c語言:有一個分數序列: 2/1+3/2+5/3+8/5+13/8+… 出這個數列 20 的和

程式:#include <stdio.h>int main(){   double s=0,a=2,b=1;   int t,i,n=20;  //改變n的值即可求任意項的和   for (

有一個分數序列:2/1,3/2,5/3,8/5,13/8,21/13...出這個數列20之和

 #找規律 分子等於上一個分數的分子+分母之和,分母等於上一個分數的分子 i=0 #迴圈20次 跳出迴圈計數 a=2 #分子 b=1 #分母 result=0.0 while i<20: print('每個計算為:%s/%s,%s'%(a,b,i)) result+=a

遞迴演算法求解的小問題-------題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...出這個數列20之和

package Auto測試; /* * 題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。 */ public class AutoTest { public static void main(String[] args){

中M2018春C入門和進階練習集-程式設計題34 7-34 分數序列N和(15 分)

7-34 求分數序列前N項和(15 分) 本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。 輸入格式: 輸入在一行中給出一個正整數N。 輸出格式: 在一行

Java數列求和:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...出這個數列20之和

問題分析:將分子分母分開來看,分子依次是2,3,5,8,13,21,除開第一項和第二項之外,其他的每一項都與前兩項有直接的關係(前兩項求和),所以明顯是遞迴演算法的特徵,分母也是一樣,所以該題通過遞迴

7-34 分數序列N和 (15 分)

本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。 輸入格式: 輸入在一行中給出一個正整數N。 輸出格式: 在一行中輸出部分和的值,精確到小數點後兩位。題目保證計算結果不

有一個分數序列2/1,3/2,5/3,8/5,13/8...20之和

#include <stdio.h>  #include <conio.h>  int main(){    int a=2,b=1,c=0,n=1;    double d=

PTA-分數序列N

求分數序列前N項和本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。輸入格式:輸入在一行中給出一個正整數N。輸出格式:在一行中輸出部分和的值,精確到小數點後兩位。題目

使用C語言編寫程式,求解有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...出這個序列的20

使用C語言編寫程式,求解有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個序列的前20項 void test() {  //思路:找規律->從3/2開始 下一個數的分

C語言】Fibonacci數列20(陣列)

//求Fibonacci數列的前20項 #include "stdio.h" int main(){     int i,j;     int f[20] = {1,1};//賦值數列前兩項     

ACMNO.12有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 出這個數列N之和,保留兩位小數。 輸入 N 輸出 數列N和 樣例輸入 10

題目描述 有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出這個數列的前N項之和,保留兩位小數。 輸入 N 輸出 數列前N項和 樣例輸入 10 樣例輸出 16.48 來源/分類 C語言 題目

有一個分數序列:2/1, 3/2, 5/3, 8/5, 13/8, …編寫程式出這個序列的n之和

問題與程式碼:有一個分數序列:2/1, 3/2, 5/3, 8/5, 13/8, …編寫程式求出這個序列的前n項之和 檔名稱:有一個分數序列:2/1, 3/2, 5/3, 8/5, 13/8, …編寫程式求出這個序列的前n項之和 作者:何知令 發表時間:2016年10月11

c++中分數序列2/1,3/2,5/3,8/5,13/8,21/13....20的和

求分數序列2/1,3/2,5/3,8/5,13/8,21/13…前20項的和 規律:從第二項開始,後一項的分母等於前一項的分子,後一項的分母等於前一項分母與分子之和 #include "stdafx.h" #include<iostream> using namespace

有一個分數序列:2/1, 3/2, 5/3, 8/5, 13/8, …編寫程式出這個序列的n之和。 輸入

#include<stdio.h> int main(){ int a=2,b=1,c,n,i; double s=0; scanf("%d",&n); if(n&g

斐波那契數列n的值

Description 輸入n,求斐波那契數列前n項的值。斐波那契數列規律如下:1, 1, 2, 3, 5, 8, 13,21, 34,55…,從第三項開始,每一項都是前面兩項的和。 Input 輸入正整數n。 Output 輸出斐波那契數列的前n項值 Sample Input

C程式14 日期

程式14 求日期 題目:輸入某年某月某日,判斷這一天是這一年的第幾天? 程式分析:以 3 月 5 日為例,應該先把前兩個月的加起來,然後再加上 5 天即本年的第幾天,特殊情況,閏年且輸入月份大於 3 時需考慮多加一天。 程式碼 #include <stdio.h>

C程式11 不重複數字

程式11 求不重複數字 題目:有 1、2、3、4 個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? 程式分析:可填在百位、十位、個位的數字都是 1、2、3、4。組成所有的排列後再去掉不滿足條件的排列。 自己理解: 個,十,百位每位有四種選擇,即三層for迴圈範

C++】斐波那契數列N的和遞迴與非遞迴演算法

定義:斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:0、1、1、2、3、5、8、1