/*

大菲波数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 11168    Accepted Submission(s): 3782

Problem Description

Fibonacci数列。定义例如以下:

f(1)=f(2)=1

f(n)=f(n-1)+f(n-2) n>=3。

计算第n项Fibonacci数值。

Input

输入第一行为一个整数N。接下来N行为整数Pi(1<=Pi<=1000)。

Output

输出为N行,每行为相应的f(Pi)。

Sample Input

5

1

2

3

4

5

Sample Output

1

1

2

3

5

#include<stdio.h>
#include<string.h>
int a[1010][1010];
int main()
{
int T,n,m,i,j,k,count;
scanf("%d",&T);
while(T--){
scanf("%d",&n);
memset(a,0,sizeof(a));
a[1][1]=1;
a[2][1]=1;
for(i=3,k=1;i<=n;i++){
for(j=1,count=0;j<=k;j++){ //易出错:j=i+1,j<=i
a[i][j]=a[i-1][j]+a[i-2][j]+count;
count=a[i][j]/10;
a[i][j]%=10;
}
while(count){
a[i][++k]=count;
count/=10;
}
}
for(i=k;i>0;i--){ //i++
printf("%d",a[n][i]);
}
printf("\n");
}
return 0;
}

想我所想:

解题思路:首先,打一个二维数表。a[ i ] [ j ],  i 表示输入的PI。j表示PI的长度,暂定义为1010。相信够用了。然后,进行二维数表的运算,依据a[ i ]=a[ i-1 ]+a[ i -2 ]求出后面的数据,这个过程中注意进位。以及逆序输出。

难点具体解释:此题一眼看上去比較简单。后来做后发现当中有诈。我第一次是定义一个64位int型一位数组做的。结果wa,百思不得其解,我想64位还不够大。大数问题。于是想起经常使用的二维数组解决大数问题,然后copy一个自己觉得不错的程序。加以改动。得到了现在的这个。这个程序关键在于理解二维数组的进位问题。

关键词:二维数组 进位

解题人:杨圣洁

解题时间:2014.8.1

解题体会:二维数组对解决大数问题非常有用!

大菲波数 【杭电-HDOJ-1715】 附题+具体解释的更多相关文章

  1. 循环多少次? 【杭电--HDOJ-1799】 附题+具体解释

    循环多少次? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  2. 最小公倍数 【杭电-HDOJ-1108】 附题+具体解释

    /* 最小公倍数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  3. 放大的X 【杭电-2655】 附题

    /* 放大的X Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  4. 2^x mod n = 1 【杭电-HDOJ-1395】 附题

    /* 2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. 最低位 【杭电-HDOJ-1196】 附题

    /* Lowest Bit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  6. 不可摸数 【杭电-HDOJ-1999】 附题

    /* hdu 1999 不可摸数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  7. SCAU1143 多少个Fibonacci数--大菲波数【杭电-HDOJ-1715】--高精度加法--Fibonacci数---大数比较

    /*******对读者说(哈哈如果有人看的话23333)哈哈大杰是华农的19级软件工程新手,才疏学浅但是秉着校科联的那句“主动才会有故事”还是大胆的做了一下建一个卑微博客的尝试,想法自己之后学到东西都 ...

  8. hdu 1715 大菲波数 高精度和运算,水

    1.hdu 1715  大菲波数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 3.总结:水 #include<iostream> ...

  9. [ACM_数学] 大菲波数 (hdu oj 1715 ,java 大数)

    大菲波数 Problem Description Fibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3.计算第n项Fibonacci数值.   ...

随机推荐

  1. margin 百分比是按參照物来计算滴 不知道吧?

    <style> #demo{ margin: 0 auto; width: 1000px; height: 500px; background: #eee; overflow: hidde ...

  2. Intel Media SDK安装步骤

    !!!(gcc/g++版本要在4.8以上,本人使用的是5.4版本) 要先安装依赖,按以下步骤依次执行 1.LIBVA git clone https://github.com/intel/libva. ...

  3. CodeForces 131C C (组合)

    There are n boys and m girls attending a theatre club. To set a play "The Big Bang Theory" ...

  4. [JavaEE] Spring学习资源链接

    学习规划 http://forrest-lv.iteye.com/blog/1166947 SpringMVC - 框架配置 http://blog.csdn.net/ljhabc1982/artic ...

  5. JavaScript 面向对象(随笔)

    构造函数创建对象 1构造函数是用new创建对象时调用的函数,与普通唯一的区别是构造函数名应该首字母大写. function Person() { this.age = 50; } let a = ne ...

  6. [Luogu1273] 有线电视网

    [Luogu1273] 有线电视网 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树 ...

  7. wppay免登录付费查看隐藏内容/付费资源下载

    WPPAY是一款模板兔开发的免登录的付费查看内容/付费下载资源WordPress插件,WPPAY不需要用户注册登录即可支付查看隐藏内容,把整个流程做到极简.发布文章时要隐藏的内容可以利用短代码: [w ...

  8. 前端-Angular思维导图笔记

    看不清的朋友右键保存或者新窗口打开哦!喜欢我可以关注我,还有更多前端思维导图笔记

  9. 【Oracle】RMAN备份

    1. 完全备份 RMAN> backup as backupset database; Starting allocated channel: ORA_DISK_1 channel ORA_DI ...

  10. 根据业务自己设计的.NET工厂模式架构

    最近项目的架构需要做调整优化,根据业务需要写了一个简单的工厂模式架构 项目介绍:整个系统分为三大平台(这里用A,B,C来标示),每个平台又细分为多个APP客户端(每个APP都有appid来区分) 因为 ...