HDU 1715 大斐波数 加法高精度
解题报告:求 斐波那契数,不过这题的n的范围是1000,肯定是早就超过了的,所以要用到高精度,所以这题其实就是一个加法高精度的题。
我的做法 是写一个大数相加的函数,然后打表就是了,这里注意的就是每次做了大数相加之后任然保留倒序的数存在表里面,这样以便下次相加的时候直接加,而不用把顺序翻来翻去很麻烦,这样只要在输出的时候把顺序倒过来就可以 了。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn = +;
char ans[][];
char* add(const char *s1,const char* s2) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int a1[maxn],a2[maxn];
memset(a1,,sizeof(a1));
memset(a2,,sizeof(a2));
for(int i = ;i<len1;++i)
a1[i] = s1[i]-'';
for(int i= ;i<len2;++i)
a2[i] = s2[i]-'';
int M = max(len1,len2);
for(int i = ;i<=M;++i) {
a1[i] += a2[i];
a1[i+] += a1[i]/;
a1[i] %= ;
}
if(a1[M] != )
M++;
char s3[maxn];
for(int i = ;i<M;++i)
s3[i] = a1[i]+'';
s3[M] = NULL;
return s3;
}
void dabiao() {
ans[][] = ans[][] = '';
ans[][] = ans[][] = NULL;
for(int i = ;i<=;++i)
strcpy(ans[i],add(ans[i-],ans[i-]));
} int main() {
int T,n;
dabiao();
scanf("%d",&T);
while(T--) {
scanf("%d",&n);
int len = strlen(ans[n]);
for(int i = len-;i>=;--i)
printf("%c",ans[n][i]);
puts("");
}
return ;
}
HDU 1715 大斐波数 加法高精度的更多相关文章
- hdu 1715 大菲波数 高精度和运算,水
1.hdu 1715 大菲波数 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=1715 3.总结:水 #include<iostream> ...
- HDU——1715大菲波数(大数加法)
大菲波数 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- HDU 1715 大菲波数
大菲波数 问题描述 : Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. 输入: 输入第一行为一 ...
- 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
http://acm.hdu.edu.cn/showproblem.php?pid=1715 import java.io.*; import java.util.*; import java.mat ...
- 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 ...
- HDU 1715 大菲波数
/* 中文题意: 中文翻译: 题目大意:求1000以内的菲波数. 解题思路:用大数来计算.用二维数组来存数. 难点具体解释:用二维数组存数,開始的一维存的是1000个Pi,后面那一维是用来存数字的. ...
随机推荐
- testng对执行失败的用例,再次执行
前段时间在网络上看到通过重写TestNG的接口,可以再次执行失败的测试用例,于是学习了,我之前的做法是当自己的脚本中碰到异常,就自动调用方法本身来达到再次执行用例的目的,这个过程中有设定重试的次数 对 ...
- php aes加密
<?php namespace Aes; error_reporting(E_ALL); ini_set('display_errors', '1'); class Aes { /** * va ...
- C 语言assert使用
1.assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( i ...
- spring+struts整合
首先是为什么整合strut2和spring? struts2的action是由struts2自己创建出来的,它不受spring的委托,也不受spring的管理,所以无法进行自动注入:spring和st ...
- BZOJ3329 Xorequ(数位dp+矩阵快速幂)
显然当x中没有相邻的1时该式成立,看起来这也是必要的. 于是对于第一问,数位dp即可.第二问写出dp式子后发现就是斐波拉契数列,矩阵快速幂即可. #include<iostream> #i ...
- Day22-中间件
1.中间件,在其它程序中,有的叫管道,有的叫http handler.下面是原生的中间件 2.自己也可以写中间件 2.1 写中间件,新建文件夹Middle,新建m1.py 2.2 在setting里注 ...
- System Board Replacement Notice
System Board Replacement Notice System Board Replacement Notice for TP 770E and TP 600 Restoring the ...
- 超计算(Hyper computation)模型
超计算(Hyper computation)模型 作者:Xyan Xcllet链接:https://www.zhihu.com/question/21579465/answer/106995708来源 ...
- BZOJ3688 折线统计 【dp + BIT】
题目链接 BZOJ3688 题解 将点排序 设\(f[i][j][0|1]\)表示以第\(i\)点结尾,有\(j\)段,最后一段上升或者下降的方案数 以上升为例 \[f[i][j][0] = \sum ...
- linux内核设计与实现一书阅读整理 之第五章
CHAPTER 5 系统调用 5.1 与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: 为用户空间提供了一种硬件的抽象接口 系统调用保证了系统的稳定和安全 每个进 ...