
正文
C语言用循环求斐波函数 用循环实现斐波那契数列
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
利用循环算出斐波那契数列的前十三项和的c语言程序
斐波那契数列的第一项是0,第二项是1,从第三项开始当前项是相邻前两项之和。根据这一规律,可用一for循环,用两个int型变量a、b始终记录当前项和前一项的值,并累加当前项求和就可解决此题。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,s,a,b;
for(s=a=0,b=i=1;i13;i++){//i13控制计算前13项
s+=b;//当前项b与和s累加
b+=a;//求下一项
a=b-a;//求下一项的前一项
}
printf("The result is %d\n",s);
return 0;
}
运行结果如下图:
相关问答
Q1: 用C语言求斐波那契数列前500项
我可以得知以下几点:
斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13 …,从第三项开始,每一项都等于前两项之和。
用C语言求斐波那契数列的一种常见方法是使用递归函数,即定义一个函数fib(n),返回第n项的值,然后在函数体中调用fib(n-1)和fib(n-2)。
这种方法虽然简单,但是效率很低,因为会重复计算很多次相同的值。例如,要计算fib(5),就要先计算fib(4)和fib(3),而计算fib(4)又要先计算fib(3)和fib(2),这样就浪费了时间和空间。
另一种方法是使用数组或变量来存储已经计算过的值,避免重复计算。例如,定义一个数组a[500],初始化a[0]=1,a1=1,然后用循环从第三项开始依次计算并存入数组中:a[i]=a[i-1]+a[i-2]。
Q2: c语言,编程实现,求斐波那契数列,1,1,2,3,5,8,......的前20项及前20项和
C语言源程序如下:
#includestdio.h
int main()
{
int array[100]={1,1};//斐波那契数列前两个元素均为0
int i=0;//循环变量
int n=20;//数列需要求的个数
int sum = 0;//和变量
for(i=2;in+1;i++)//按递推原理依次求出后续元素
{
array[i]=array[i-1]+array[i-2];//数列原理
}
printf("arr[1]-arr[%d] = ", n);//提示输出数列元素
for (i = 0; i n; i++)//遍历数列
{
printf("%d ",array[i]);//输出arr[1]-arr[n]元素内容
sum += array[i];//顺便进行求和
}
printf("\n%d ", sum);//输出求和结果
return 0;
}
程序运行结果如下:
扩展资料:
利用递归原理进行求斐波那契数列的求解和求前n项和:
#includestdio.h
int fibonacci(int n) //递归函数
{
if (n == 0 || n == 1)
return 1;
if (n 1)
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main()
{
int i = 0;
for (i = 0; i 30; i++)
{
printf("fibonacci(%d) = %d\n", i, fibonacci(i));
}
return 0;
}
Q3: 请编程实现:求斐波那契数列的前15项,每行输出5个。 这是c语言啊!!用循环语句
这是利用循环语句C语言用循环求斐波函数的
#include stdio.h
int main()
{
long fab_1 = 0;
long fab_2 = 1;
print ("%l\t%l", fab_1, fab_2); //输出前两项
int i = 3;
for( ; i 16; i ++ ) //循环从第三项开始
{
if( i / 5 == 0)
{
print( "\n");
}
long fab_result = fab_1 + fab_2;
print( "%l\t", fab_result);
fab_1 = fab_2;
fab_2 = fab_result;
}
return 0 ;
}
Q4: 谁能给我斐波那契数列的c语言,要用for循环嵌套的
C语言,用for循环,求Fibonacci数列前40个数的程序如下:#include int main(void){ int a=1,b=1,t=0; printf("%d,",a); printf("%d,",b); for(int i=0;i38;i++){ t=a+b; printf("%d,",t); a=b; b=t; } return 0;}
Q5: 用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) + "\t");
if (i % 5 == 0)
System.out.println();
}
}
}
扩展资料:
使用数组的方式实现
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语言用循环求斐波函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用循环实现斐波那契数列、C语言用循环求斐波函数的信息别忘了在本站进行查找喔。






