HDU 1715 大菲波数
/*
中文题意:
中文翻译:
题目大意:求1000以内的菲波数。
解题思路:用大数来计算。用二维数组来存数。
难点具体解释:用二维数组存数,開始的一维存的是1000个Pi,后面那一维是用来存数字的。
关键点:大数高精度算法
解题人:lingnichong
解题时间:2014/7/31 20:42 改动日期:2014/08/01 00:31
解题感受:
*/
大菲波数
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
计算第n项Fibonacci数值。
5
1
2
3
4
5
1
1
2
3
5
#include<stdio.h>
#include<string.h>
#define Pi 1010
#define MAXN 2500
int f[Pi][MAXN];
int main()
{
int i,j,k;
memset(f,0,sizeof(f));
f[1][0]=f[2][0]=1;
for(i=3;i<Pi;i++)
{
for(j=MAXN-1;j>=0;j--)
if(f[i-1][j]!=0) break;//找到上一个数右边第一个不是0的数的下标
for(k=0;k<=j;k++)
{
f[i][k]+=(f[i-1][k]+f[i-2][k]);//保留进位所得数,所以是+=
if(f[i][k]>=10)
{
f[i][k]-=10;
f[i][k+1]+=1;
}
}
}
int T,n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(i=MAXN-1;(i>=0)&&(f[n][i]==0);i--);
for(;i>=0;i--)
printf("%d",f[n][i]);
printf("\n");
}
return 0;
}
/*
1000的斐波那契数
22
1000
43466557686937456435688527675040625802564660517371780402481729089536555417949051
89040387984007925516929592259308032263477520968962323987332247116164299644090653
3187938298969649928516003704476137795166849228875
999
26863810024485359386146727202142923967616609318986952340123175997617981700247881
68933836965448335656419182785616144335631297667364221035032463485041037768036733
4151172899169723197082763985615764450078474174626
998
16602747662452097049541800472897701834948051198384828062358553091918573717701170
20106551018559589860510409473691887927846223301598102952299783631123261876053919
9036765399799926731433239718860373345088375054249
*/
HDU 1715 大菲波数的更多相关文章
- hdu 1715 大菲波数 高精度和运算,水
1.hdu 1715 大菲波数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 3.总结:水 #include<iostream> ...
- HDU 1715 大菲波数
大菲波数 问题描述 : Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. 输入: 输入第一行为一 ...
- HDU——1715大菲波数(大数加法)
大菲波数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDU - 1715 - 大菲波数 - JAVA
http://acm.hdu.edu.cn/showproblem.php?pid=1715 import java.io.*; import java.util.*; import java.mat ...
- hdu 1715 大菲波数(高精度数)
Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Inpu ...
- hdu 1715 大菲波数(大数)
题意:整数大数加法 思路:大数模板 #include<iostream> #include<stdio.h> #include<stdlib.h> #include ...
- HDU 1715 大菲波数(JAVA, 简单题,大数)
题目 //BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数 import java.io.*; import java.util.*; ...
- hdu 1715 大菲波数_java
用java的大数解决 import java.math.BigInteger; import java.util.Scanner; public class Main { public static ...
- HDOJ 1715 大菲波数
Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Inpu ...
随机推荐
- NoSQL:redis缓存数据库
一 Redis介绍 Redis和Memcached类似,也属于key-value nosql 数据库 Redis官网redis.io, 当前最新稳定版4.0.1 和Memcached类似,它支持存储的 ...
- Android开发之漫漫长途 Ⅳ——Activity的显示之ViewRootImpl初探
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Oracle的Recyclebin策略
1.从oracle10g开始删除数据库表的时候并不是真正删除,而是放到了recyclebin中,这个过程类似 windows里面删除的文件会被临时放到回收站中. 2.删除的表系统会自动给他重命名就是你 ...
- 比特币区块结构Merkle树及简单支付验证分析
在比特币网络中,不是每个节点都有能力储存完整的区块链数据,受限于存储空间的的限制,很多节点是以SPV(Simplified Payment Verification简单支付验证)钱包接入比特币网络,通 ...
- struts2 内容记录
多xml文件配置 在开发过程中我们经常会将每一张表(如:user表)的struts.xml文件分开,便于管理,故需要建立struts_user.xml文件管理请求等.那么需要用到inculde标签. ...
- Android 安全加密
Android 安全加密 引言 对称加密.非对称加密.消息摘要.数字签名等知识都是为了理解数字证书工作原理而作为一个预备知识.数字证书是密码学里的终极武器,是人类几千年历史总结的智慧的结晶,只 ...
- 用JAVA中BufferedImage画出漂亮的验证码点击变化
如果我们想用JAVA中BufferedImage画出漂亮的验证码点击变化怎么实现呢,类似这样: 点击变化,以下是实现过程,直接上代码: 首先前台:<i><img style=&quo ...
- 【复习】VueJS之内部指令
Vuejs 源码:https://github.com/zhuangZhou/vuejs 下载Vue.js 官网:http://vuejs.org live-server使用 live-server是 ...
- SHA安全散列算法简析
1 SHA算法简介 1.1 概述 SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散 ...
- iphone6 plus导入联系人或者通讯录
iphone6 plus快速导入联系人或者通讯录(使用QQ同步助手,真的很简单) 最近换了部手机,由于之前的手机保存联系人都是保存在手机,没有备份在sim卡,由于sim卡被我剪小了,不能插回原来的手机 ...