本文目录一览:
- 1、c语言 奇怪的数列 我写的程序运行正常,就是超时了,没理由超时啊
- 2、C语言有趣数列改写
- 3、用C语言编程 斐波那契数列:1,1,2,3,5,8,13…,输出前13项,每行输出5个数。
- 4、C语言斐波那契数列
- 5、用C语言求斐波那契数列第n项的值?
- 6、C语言 斐波那契数列 一个简单的程序
c语言 奇怪的数列 我写的程序运行正常,就是超时了,没理由超时啊
你程序的算法没错,但你要注意测试条件1=A,B=100,1=N=10000
当N很大时就有问题,所以要完全通过就要用高精度加法
C语言有趣数列改写
修改后代码如下:
#include stdio.h
#include stdlib.h
#include math.h
//char in_f[]="chain.dat",out_f[]="chain.out";
int a[2001],b[2001];
int an,n;
void init(){
//FILE *f;
//f=fopen(in_f,"r");
//fscanf(f,"%d",an);
scanf ("%d", an);
//fclose(f);
}
void trial(int m){
int i,j;
if(mn) return;
if(a[m-1]==an){
n=m-1;
for(j=1; j=n; j++) b[j]=a[j];
return ;
}
for(i=m-1; i=1; i--)
if(a[i]+a[m-1]=an){
a[m]=a[i]+a[m-1];
if((n-m-1=10) || (a[m]*(2 (n-m-1)))=an)
trial(m+1);
}
}
void pmain(){
int i;
//FILE *f;
a[1]=1;
n=2*(int)(sqrt(an)+0.5)+1;
trial(2);
//f=fopen(out_f,"w");
//fprintf(f,"%d\n",n);
printf ("%d\n", n);
for(i=1; i=n; i++)
printf ("%d ", b[i]);
printf ("\n");
//fprintf(f,"%d ",b[i]);
//fprintf(f,"\n");
//fclose(f);
}
int main(){
init();
pmain();
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) + "\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语言斐波那契数列
#include stdio.h
int fun(int n)
{
if(n==1 || n==2)
return 1;
else
return fun(n-1) + fun(n-2);
}
int main(void)
{
int n,i=0;
printf("请输入要输出数列的前多少项:");
scanf("%d",n);
if(n=1)
for(i=0;in;i++)
printf("Fibonacci数列的第%3d项是:%d\n",i+1,fun(i+1));
else
printf("输入错误!请重新输入......\n");
return 0;
}
用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\n",f);}
用C语言输出斐波那契数列的前n项步骤:
1、首先,打开vc。
2、点击文件、新建
3、选择win32 console application 并在右侧输入工程的名字和地址,确定
4、选择一个空的工程,完成。
5、再次点击文件、新建,
6、选择c++ source file 并输入文件名字,确定,
7、输入如图所示的代码,这里以前十个斐波那契数列数为例,需要输出其他个数请把5改成对应数字的一半(比如要输出前20个,就把图中的5改成10)
8、点击右上角的编译运行按钮。
9、ok!我们成功地输出了斐波那契数列的前十项。
C语言 斐波那契数列 一个简单的程序
递归
long func(int n)
{
if(n ==1 || n == 2) return 1;
return func(n - 1) + func(n -2);
}