C语言编程题:数列计算 小弟感激不尽!
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 11:44:39
C语言编程题:数列计算 小弟感激不尽!
数列计算
运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述
有数列定义如下:f(1)=f(2)=1,f(n)=f(n-1)+f(n-2)(n>=3)请计算数列第n项数值.
输入
输入第一行为一个整数N,接下来N行为整数Pi(1
数列计算
运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述
有数列定义如下:f(1)=f(2)=1,f(n)=f(n-1)+f(n-2)(n>=3)请计算数列第n项数值.
输入
输入第一行为一个整数N,接下来N行为整数Pi(1
pi<=1000很小啊
#include<stdio.h>
int main()
{
int a[1005],i,n;
a[1]=a[2]=1;
for(i=3;i<1001;i++)a[i]=a[i-1]+a[i-2];
scanf("%d",&n);
while(n--)
{
scanf("%d",&i);
printf("%d\n",a[i]);
}
return 0;
}
再问: 额。。用int会爆 刚试过了 有负数情况
再答: 真是粗心啊...#include<stdio.h>
#include<string.h>
#define MAX 40
int main()
{
int a[1005][MAX],i,j,n;
memset(a,0,sizeof(a));
a[1][0]=a[2][0]=1;
for(i=3;i<1001;i++)
{
for(j=0;j<MAX;j++)
{
a[i][j]+=a[i-1][j]+a[i-2][j];
a[i][j+1]=a[i][j]/100000000;
a[i][j]%=100000000;
}
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&i);
j=MAX-1;
while(a[i][j]==0)j--;
printf("%d",a[i][j]);
for(j--;j>=0;j--)
{
printf("%08d",a[i][j]);
}
putchar('\n');
}
return 0;
}
再问: 题目要求不是一输入一个数据就输出答案 是输入整组数据才输出答案啊
再答: 你做的oj吧?不须要的,OJ没有这个要求的
#include<stdio.h>
int main()
{
int a[1005],i,n;
a[1]=a[2]=1;
for(i=3;i<1001;i++)a[i]=a[i-1]+a[i-2];
scanf("%d",&n);
while(n--)
{
scanf("%d",&i);
printf("%d\n",a[i]);
}
return 0;
}
再问: 额。。用int会爆 刚试过了 有负数情况
再答: 真是粗心啊...#include<stdio.h>
#include<string.h>
#define MAX 40
int main()
{
int a[1005][MAX],i,j,n;
memset(a,0,sizeof(a));
a[1][0]=a[2][0]=1;
for(i=3;i<1001;i++)
{
for(j=0;j<MAX;j++)
{
a[i][j]+=a[i-1][j]+a[i-2][j];
a[i][j+1]=a[i][j]/100000000;
a[i][j]%=100000000;
}
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&i);
j=MAX-1;
while(a[i][j]==0)j--;
printf("%d",a[i][j]);
for(j--;j>=0;j--)
{
printf("%08d",a[i][j]);
}
putchar('\n');
}
return 0;
}
再问: 题目要求不是一输入一个数据就输出答案 是输入整组数据才输出答案啊
再答: 你做的oj吧?不须要的,OJ没有这个要求的