HDU 1250
简单大数
(要压位,不然会超内存)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
const int base = 1000000;
struct BigInt
{
vector<int> Num;
BigInt() { Num.clear(); }
void Set(int n) { Num.clear(); Num.push_back(n); }
BigInt operator + (const BigInt &a) const
{
BigInt c;
int len1 = Num.size(), len2 = a.Num.size();
int i;
for(i = 0; i < len1 && i < len2; ++i)
c.Num.push_back(Num[i] + a.Num[i]);
for(; i < len1; ++i) c.Num.push_back(Num[i]);
for(; i < len2; ++i) c.Num.push_back(a.Num[i]);
for(int i = 0; i < c.Num.size(); ++i)
{
if(c.Num[i] >= base)
{
if(i == c.Num.size() - 1) c.Num.push_back(c.Num[i] / base);
else c.Num[i+1] += c.Num[i] / base;
c.Num[i] %= base;
}
}
return c;
} void Print()
{
int len = Num.size();
printf("%d",Num[len-1]);
for(int i = len - 2; i >= 0; --i)
{
int k = base / 10;
while(Num[i] < k)
{
printf("0");
k /= 10;
}
printf("%d",Num[i]);
}
printf("\n");
}
}N[500000]; void Init()
{
N[1].Set(1);N[2].Set(1);
N[3].Set(1);N[4].Set(1);
for(int i = 5; ; ++i)
{
N[i] = N[i-1] + N[i-2] + N[i-3] + N[i-4];
if(N[i].Num.size() * 5 > 2005) break;
}
} int main()
{
Init();
int n;
while(cin >> n)
{
N[n].Print();
}
return 0;
}
HDU 1250的更多相关文章
- hdu 1250 Hat's Fibonacci
pid=1250">点击此处就可以传送hdu 1250 Problem Description A Fibonacci sequence is calculated by adding ...
- hdu 1250 Hat's Fibonacci
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Description A Fibonacci sequence ...
- HDU 1250 Hat's Fibonacci(大数相加)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Ot ...
- hdu 1250 Hat's Fibonacci(java,简单,大数)
题目 java做大数的题,真的是神器,来一道,秒一道~~~ import java.io.*; import java.util.*; import java.math.*; public class ...
- hdu 1250 Hat's Fibonacci(高精度数)
// 继续大数,哎.. Problem Description A Fibonacci sequence is calculated by adding the previous two membe ...
- HDOJ/HDU 1250 Hat's Fibonacci(大数~斐波拉契)
Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...
- Hat's Fibonacci hdu 1250
Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...
- HDU 1250 Hat's Fibonacci(高精度)
Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...
- hdu 1250 树形DP
Anniversary party Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
随机推荐
- eclipse配置文件乱码
修改文件打开工具 安装文件编辑器插件 然后搜索
- 047、管理Docker Machine(2019-03012 周二)
参考https://www.cnblogs.com/CloudMan6/p/7248188.html 用docker-machine创建machine的过程很简洁,非常适合多主机环境.除此之外 ...
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- jqgrid again
之前有提及过jqgrid这个很不错的jquery grid, 非常适合企业MIS系统使用. 本文以一个显示学生成绩结果的页面, 来说明它的一些用法, 手写代码, 运行可能会报错, 不过思路是经过验证的 ...
- 通配符 Globbing赏析
什么是 Globing? https://www.techopedia.com/definition/14392/globbing Definition - What does Globbing ...
- 三十八、Linux 线程——线程属性初始化、销毁、设置和获得分离属性
38.1 线程属性初始化和销毁 #include <pthread.h> int pthread_attr_init(pthread_attr_t *attr); int pthread_ ...
- axis2客户端
package com.yq.test; /** * Created by yangqing on 2016/12/6. */ import java.util.Date; import java.u ...
- Docker 容器暂停服务 - 七
docker pause :暂停容器中所有的进程docker unpause :恢复容器中所有的进程 docker pause [OPTIONS] CONTAINER [CONTAINER...] d ...
- 贝叶斯网络与LDA
一.一些概念 互信息: 两个随机变量x和Y的互信息,定义X, Y的联合分布和独立分布乘积的相对熵. 贝叶斯公式: 贝叶斯带来的思考: 给定某些样本D,在这些样本中计算某结论出现的概率,即 给定样本D ...
- [MVC框架]利用@Scheduled注解创建定时执行的程序
新写的项目中有一个地方要用到定时器,然后就用了spring的@Scheduled注解,顺手就给记录下来了,免得下次用的时候还要翻以前的项目,顺便分享出来,给没用过的兄弟姐妹们做个参考. 这次主要用的是 ...