當前位置:首頁 » 編程語言 » feb數列C語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

feb數列C語言

發布時間: 2022-06-23 06:07:56

㈠ 編寫求斐波那契數列的第n項FEB(n)的函數。斐波那契數列是形如0,1,1,2,3,5,8,13,21,…

網路上的頁面上有~

㈡ 月份轉換:輸入數字月份,輸出英文月份,如「jan」,「feb」等 求用匯編語言解答〒_〒

你啥語言?
c語言看這里
http://wenku..com/view/8ea365c8da38376baf1faecd.html

其他語言都大同小異

㈢ C語言程序設計

斐波那契累加求前n項和
寫一個斐波那契求和的演算法,第一反應太簡單了,遞歸一下就求出來了
常規的方法:
<span style="white-space:pre"> </span>/**
* 求前n項的累加和
* @param n
* @return
*/
public static int feb_sum(int n) {
int sum = 0;
for(int i=1;i<=n;i++) {
sum += febnaqi(i); //累加前n項
}
return sum;
}

/**
* 求斐波那契數列的第n項值
* @param n
* @return
*/
public static int febnaqi(int n){
if(n ==1 || n == 2) {
return 1;
}else
return febnaqi(n-1) + febnaqi(n-2); //遞歸的調用自己
}
對於上面的代碼雖然能求出結果,但是當n>40的時候,時間消耗非常之大,原因很簡單,每一次都要重復的算。
於是改進了一下
<span style="white-space:pre"> </span>/**
* 求斐波那契數列的前n項的和
* @param n
* @return
*/
public static long feb_sum(int n) {
long sum;
if(n == 1) sum = 1;
else if(n == 2) sum =2;
else {
long[] a = {1,1}; //臨時數組a存放第n項的前兩個數
sum = 2; //第一項a1和第二項a2先加
for(int i=2;i<n;i++){
a[i%2] = a[0] + a[1];
sum += a[i%2];
}
}
return sum;
}
改進的後的演算法世間消耗要比第一種快上超千倍之多。
所以,使用遞歸的時候尤其要注意遞歸的深度,不當使用遞歸的後果是災難性的。
---------------------
作者:DR達仁
來源:CSDN
原文:https://blog.csdn.net/diaorenxiang/article/details/26164509
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

㈣ c語言程序設計用數組時如何用數字表示數組內的月份

#include <stdio.h>
void main ()
{
char *b[13]={"xxx","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"};
int month;
scanf("%d",&month);
printf("%s",b[month]);
}

㈤ 用c#遞歸方法算出斐波那契數列第30位是什麼數字

static void Main(string[] args)
{
Test2 t = new Test2();
t.math();
}
}
class Test2
{
public void math()
{
int num1 = 1, num2 = 1;

int num = num1 + num2;
Console.WriteLine(" " + num1 + " " + num2 + " " + num);//輸出頭3個的值 1,1,2

//從第4個值開始循環到第30位
for (int i = 3; i < 30; i++)
{
int num3 = num + num2;
num2 = num;
num = num3;
Console.WriteLine("第{0}位,值:{1}", i + 1, num3);

//輸出5個值後換行
if (i % 5 == 0)
{
Console.WriteLine();

}
}
}

㈥ 初級C語言

/*答案已經修改了,這哈沒問題咯!!!!*/

#include <stdio.h>
void main()
{
int day,month,year,k,leap;
int a[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
printf("\nplease input year,month,day\n");
scanf("%d%d%d",&year,&month,&day);
leap=(year%4==0&&year%100!=0)||year%400==0;/*判斷是閏年嗎*/
for(k=1;k<=month;k++)
day=day+a[leap][k]; /*這里其實隱含了0不是閏年,1是閏年,仔細看*/
printf("It is the %dth day.\n",day);
}

㈦ C語言輸出用戶輸入的年月日

void main()
{
int day;
int year;
char month[3];

scanf("%d,%s,%d",&day,&month,&year);
printf("%d,%s,%d",&day,&month,&year);

}