Problem Description
  度熊面前有一个全是由1构成的字符串,被称为全1序列。你可以合并任意相邻的两个1,从而形成一个新的序列。对于给定的一个全1序列,请计算根据以上方法,可以构成多少种不同的序列。
 
Input
这里包括多组测试数据,每组测试数据包含一个正整数N,代表全1序列的长度。

1≤N≤200

 
Output
对于每组测试数据,输出一个整数,代表由题目中所给定的全1序列所能形成的新序列的数量。
 
Sample Input
1
3
5
 
Sample Output
1
3
8

Hint

如果序列是:(111)。可以构造出如下三个新序列:(111), (21), (12)。

 
Source
 
看样例就知道是斐波那契数列,但是数据范围是1-200,早就超出long long 的范围,所以要用字符串模拟大数加法来写,应该只要过了hdu1002都能写出来。
代码:

 #include<iostream>
#include<string>
using namespace std;
string a[];
string add(string x,string y)
{
int n=x.length();
int m=y.length();
if(m>n)//为了方便,令y为短的那个数
{
swap(x,y);
swap(n,m);
}
string ans;
int t=,c=,d=n-;
for(int i=m-;i>=;i--)//对齐最短的,从尾部相加
{
int s=x[d--]-''+y[i]-''+c,flag=;//c用于进位,flag标记是否要进位
if(s>)
{
s=s-;
flag=;//标记要进位
}
ans+=s+'';//赋给新串
if(flag)//需要进位则下一位+1
c=;
else
c=;
}
for(int i=d;i>=;i--)//将长的剩下的赋给新串
{
int s=x[i]+c-'',flag=;
if(s>)
{
s=s-;
flag=;
}
ans+=s+'';
if(flag)
c=;
else
c=;
}
if(c)//最后还剩一位没进
{
ans+=+'';
}
string f;
for(int i=ans.length()-;i>=;i--)//将字符串翻转
f+=ans[i];
return f;
}
int main()
{
a[]="";
a[]="";
for(int i=;i<=;i++)//打表
a[i]=add(a[i-],a[i-]);
int n;
while(cin>>n)
{
cout<<a[n]<<endl;
}
return ;
}

hdu5686大数斐波那契的更多相关文章

  1. How many Fibs?(poj 2413)大数斐波那契

    http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=259#problem/C Description Recall the defi ...

  2. java大数 斐波那契数列

    java大数做斐波那契数列:  思路:1.       2.可以用数组存着 import java.math.BigInteger; import java.util.Scanner; public ...

  3. HDOJ/HDU 1250 Hat's Fibonacci(大数~斐波拉契)

    Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...

  4. POJ2506:Tiling(递推+大数斐波那契)

    http://poj.org/problem?id=2506 #include <iostream> #include <stdio.h> #include <strin ...

  5. HDOJ/HDU 5686 Problem B(斐波拉契+大数~)

    Problem Description 度熊面前有一个全是由1构成的字符串,被称为全1序列.你可以合并任意相邻的两个1,从而形成一个新的序列.对于给定的一个全1序列,请计算根据以上方法,可以构成多少种 ...

  6. HDOJ/HDU 1865 1sting(斐波拉契+大数~)

    Problem Description You will be given a string which only contains '1'; You can merge two adjacent ' ...

  7. P2626 斐波那契数列(升级版)(合数的质数分解, 大数为素数的概率十分小的利用)

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: f(1)=1f(1) = 1 f(1)=1 f(2)=1f(2) = 1f(2)=1 f(n)=f(n−1)+f(n−2)f(n) = f ...

  8. HPU 1471:又是斐波那契数列??(大数取模)

    1471: 又是斐波那契数列?? 时间限制: 1 Sec 内存限制: 128 MB 提交: 278 解决: 27 统计 题目描述 大家都知道斐波那契数列吧?斐波那契数列的定义是这样的: f0 = 0; ...

  9. HDU 1715 (大数相加,斐波拉契数列)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1715 大菲波数 Time Limit: 1000/1000 MS (Java/Others)     ...

随机推荐

  1. Havel-Hakimi定理的方法来构图

    给定一组非负数字,(数字为节点的度),判断该组数字能不能构成图. Havel-Hakimi定理: 将序列按照从大到小排序之后,从第二个数开始到第一个数的长度+1为止,依次减1.每操作一次,删掉第一个数 ...

  2. jenkins安装与配置---windows系统

    记录安装过程中的步骤及遇到的坑,以做借鉴 服务器主机系统: windows9 ;  已安装开发环境: jdk8 ; 我采用的是war包直接运行的方式: 1.下载最新的版本(一个 WAR 文件).Jen ...

  3. style样式不换行

    style="white-space:nowrap;"不自动换行<font color="" size=""></font ...

  4. vue中router.go、router.push和router.replace的区别

    router.go(n) 这个方法的参数是一个整数,意思是在history记录中向前或者后退多少,类似window.history.go(n) router.push(location) 想要导航到不 ...

  5. Cmake用法

    目录 1,Cmake introduce 1.1 常用的目录结构 2,CMakeLists.txt文件的写法 Cmake 常用命令 Scripting Commands set include Pro ...

  6. Servlet(自己实现的Servlet)细节

    Java中无状态的对象就是指某种没用任何属性的仅仅由方法组成的对象. *无状态:无状态方法的好处之一,就是在各种环境下,都可以安全调用.衡量一个方法 是否有状态的,就看它是否改动了其他东西. *有状态 ...

  7. mysql GROUP_CONCAT 查询某个字段(查询结果默认逗号拼接)

    Mysql 的 GROUP_CONCAT 函数默认将查询的结果用逗号拼接并返回一个字符串,如:李四,long,张三 1. 常用方式 select GROUP_CONCAT(user_name) use ...

  8. ArcGIS为面要素生成邻接矩阵

    1. 分析工具——>空间关联 使用注意,直接用FID似乎不可行,我是自己重新建了一个"String"字段,值用字段计算器从FID获取过来.之后按照上面的步骤才成功. 实现主要 ...

  9. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 连接数据库执行SQL语句

    BIML 101 - BIML 快速入门教程 第一节 连接数据库执行SQL语句 本小节将用BIML建一个简单的可以执行的包. 新建一个biml文件,贴入下面的代码 1 <Biml xmlns=& ...

  10. 清除eclipse项目中没用的图片、js、css代码

    import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOExce ...