C语言编程题:数列计算 小弟感激不尽!

问题描述:

C语言编程题:数列计算 小弟感激不尽!
数列计算
运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述
有数列定义如下:f(1)=f(2)=1,f(n)=f(n-1)+f(n-2)(n>=3)请计算数列第n项数值.
输入
输入第一行为一个整数N,接下来N行为整数Pi(1
1个回答 分类:综合 2014-09-19

问题解答:

我来补答
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没有这个要求的
 
 
展开全文阅读
剩余:2000
下一页:例6求步骤