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 ...
随机推荐
- 细说java平台日志组件
1. java.util.logging JDK自带日志组件,使用方式简单,不需要依赖第三方日志组件.支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机.相对于第三方独立日志框架来说, ...
- luogu P5112 FZOUTSY
传送门 毒瘤出题人,卡我常数 如果后缀排序后将两两之间height\(\ge k\)的后缀放在一组,那么每次询问的答案就是\(\sum_{i} \binom{num[i]}{2}\)(num[i]是第 ...
- linux 共享内存的理解
1. 共享内存是在shmget时创建出来的, 在 shmget(USER_SHARE_MEM_KEY, sizeof(ADDR_NODE) , IPC_CREAT|0666)) ==-1) 的 s ...
- Django REST Framework API Guide 05
本节大纲 1.Serializer fields 2.Serializer relations Serializer fields 1.serializer 字段定义在fields.py文件内 2.导 ...
- 🍓 react16.2新特性 🍓
react16.2新特性:组件中可以一次性return 多个子元素(子组件)了,也就是说,想return多个子元素,不用在外面包一个父盒子了. 方法一:把要return的元素放在一个空的jsx里面 方 ...
- ==,hashcde, equals(一)
1.Hash 的属性, 1)bucket 和 list 2.java.lang.object 的 hashcode 和 equal 通过内存地址比较 3.为什么要重写hashcode 和 equal ...
- L3-2 森森快递 (30 分)(贪心+线段树/分块)
题目链接:https://pintia.cn/problem-sets/1108203702759940096/problems/1108204121661857798 题目大意: 森森开了一家快递公 ...
- mysql 案例 ~ 表空间迁移数据与数据导入
一 简介:mysql5.6+的表空间传输二 目的:复制数据到另一个表三 步骤 1 create table b like a ->创建一个空表 2 alter table b disc ...
- 最短路径&次短路径算法
容易理解:https://blog.csdn.net/m0_37345402/article/details/76695930 https://blog.csdn.net/qq_36386435/ar ...
- MySql cmd下的学习笔记 —— 有关select的操作(order by,limit)
先选择goods表 set names gbk; 把本店价从低到高排序(order by) (注意)order by 要放在where, group by, having之后 查询本店价从高到低排序 ...