⑴ 怎樣用c語言求斐波那契數列第n項的值
#include main( ){long f1,f2,f;int i,n;scanf("%d",&n);f1=f2=1;if(nf=1;elsefor(i=3;if=f1+f2;f1=f2;f2=f;}printf("%ld ",f);}
⑵ 請問c語言怎樣全部輸出斐波那契數列,不是只是輸出某一項。
全部輸出 ??? 即使宇宙滅亡了也輸不完啊。。。
//這個可以輸出46項,再往後就溢出了
#include<stdio.h>
int main()
{
int a=1,b=1,c=2;
printf("每按下Enter鍵顯示一個數\n");
getchar();
printf("%d\n",a);
getchar();
printf("%d\n",b);
getchar();
printf("%d\n",c);
getchar();
while(1)
{
a=c+b;
printf("%d\n",a);
getchar();
b=c+a;
printf("%d\n",b);
getchar();
c=a+b;
printf("%d\n",c);
getchar();
}
return 0;
}
⑶ 有關C語言,用FOR循環來列印出斐波那契數列的前N項。
#include <math.h>
int main()
{
int m, x, a, b, c;
a = 1;
b = 1;
c = 2;
x = 1;
printf("m = ");
scanf("%d",&m);
getchar();
for(;x<=m;x++)
{
printf("%d ",a);
a = b;
b = c;
c = a+b;
x++;
}
getchar();
return 0;
}
我們也做這個的,m的意思是想要幾個數字出現在屏幕上數字,就輸入m = 幾就可以了,希望可以幫到你
⑷ C語言 寫程序,輸出斐波那契數列的前20項,每行輸出4個數
方法一for循環
publicclassFeiBoMethod{
定義三個變數方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契數列前20項為:");
System.out.print(a+"\t"+b+"\t");
因為前面還有兩個1、1所以i<=18
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+"\t");
if((i+2)%4==0)
System.out.println();
}
}
}
方法2使用數組的方式實現
publicclassFeiBoMethod{
定義數組方法
publicstaticvoidmain(String[]args){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契數列的前20項如下所示:");
for(inti=0;i<arr.length;i++){
if(i%4==0)
System.out.println();
System.out.print(arr[i]+"\t");
}
}
}
(4)c語言列印斐波那契數列擴展閱讀:
遞歸實現
publicclassFeiBoMethod{
使用遞歸方法
privatestaticintgetSum(intnum){
if(num==1||num==2)
return1;
else
returngetSum(num-1)+getFibo(num-2);
}
publicstaticvoidmain(String[]args){
System.out.println("斐波那契數列的前20項為:");
for(inti=1;i<=20;i++){
System.out.print(getSum(i)+"\t");
if(i%4==0)
System.out.println();
}
}
}
⑸ C語言,利用遞歸調用,編程輸出斐波那契數列 ,這個怎麼編啊,求指教啊
#include<stdio.h>
long fun(int i)//遞歸函數
{
if(i==1||i==2)//遞歸終止條件
return 1;
else//遞歸通式
return(fun(i-1)+fun(i-2));
}
int main()
{
int n;
printf("請輸入項數:");
scanf("%d",&n);
printf("\n斐波那契數列前%d項為:\n",n);
for(int i=1;i<=n;i++)
{
printf("%ld\t",fun(i));//調用函數
if(i%5==0)//每輸出5項換行
printf("\n");
}
return 0;
}
⑹ C語言輸出第n~m項斐波那契數列
斐波拉契的當前像是前兩項之和。
#include<stdio.h>
intfibonacci(intn)
{
if(n<=2)
return1;
returnfibonacci(n-1)+fibonacci(n-2);
}
intmain()
{
intn,m;
printf("inputnandm:");
scanf("%d%d",&n,&m);
printf("fibonaccin~m:");
for(inti=n;i<=m;i++)
printf("%d",fibonacci(i));
return0;
}
⑺ 求用C語言表達斐波那契數列
#include <stdio.h>
main( ){
long f1,f2,f;
int i,n;
scanf("%d",&n);
f1=f2=1;
if(n<=2)
f=1;
else
for(i=3;i<=n;i++){
f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld
",f);
}
⑻ 如何使用C語言輸出Fibonacci數列
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int limit = 10; // 輸出前10個fibonacci數
int pre1 = 1; // 當前計算值前面第二個fibonacci數
int pre2 = 1; // 當前計算值前面一個fibonacci數
int res; // 當前計算值
for (i; i < limit; i++)
{
if (i == 0 || i == 1)
{
// 前兩個fibonacci數是1
printf("1 ");
}
else
{
res = pre1 + pre2;
printf("%d ", res);
pre1 = pre2;
pre2 = res;
}
}
return 0;
}
⑼ 用C語言編程 斐波那契數列:1,1,2,3,5,8,13…,輸出前13項,每行輸出5個數。
public class FeiBoMethod {
// 使用遞歸方法
private static int getSum(int num) {
if (num== 1 || num== 2)
return 1;
else
return getSum(num- 1) + getFibo(num- 2);
}
public static void main(String[] args) {
System.out.println("斐波那契數列的前13項為:");
for (int i = 1; i <= 13; i++) {
System.out.print(getSum(i) + " ");
if (i % 5 == 0)
System.out.println();
}
}
}
(9)c語言列印斐波那契數列擴展閱讀:
使用數組的方式實現
publicclassFeiBoMethod{
//定義數組方法
publicstaticvoidmain(String[]args){
intarr[]=newint[13];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契數列的前13項如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+"\t");
}
}
}
⑽ C語言進階:求斐波那契數列
工具/材料
visual studio
- 01
求斐波那契數列有兩種思路:循環與遞歸。我們首先來看循環的方式。為了與實際下標對應,我設置數組第一項為0。
- 02
對索引i的值進行判斷:i==1,則令a[i]=1。否則a[i]=a[i-1]+a[i-2];
- 03
然後再添加一個列印函數,只需要列印第1-n項即可。
- 04
編寫測試函數,用n=5與n=10測試,代碼與結果如下:
- 05
在這里,我寫出求第n項的函數,接下來只需要添加一個外函數就可以求出。
- 06
接下來,測試n=5與n=10,即依次調用遞歸函數計算每一個值。
- 07
運行的結果如下,與之前的循環一致。