#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<stack>
//#include<bits/std c++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const LL MOD = 1e7 + 7;
const LL maxn = 1e6 + 131;
const LL Bits = 1e10;
const double Pi = acos(-1.0);
struct BigInt
{
vector<LL> val;
void Set(LL n) { val.clear(); val.push_back(n); }
void operator += (const BigInt a)
{
int i;
for(i = 0; i < val.size() && i < a.val.size() ; ++i)
val[i] = val[i] + a.val[i];
if(i < a.val.size()) for(; i < a.val.size(); ++i) val.push_back(a.val[i]);
int len = val.size();
for(i = 0; i < len; ++i)
{
if(val[i] >= Bits)
{
if(i == len-1) val.push_back(val[i]/Bits), val[i] %= Bits;
else {
val[i+1] += (val[i] / Bits);
val[i] %= Bits;
}
}
}
}
void operator *= (const LL k)
{
int i;
for(i = 0; i < val.size(); ++i) val[i] *= k;
i = 0;
while(i != val.size())
{
if(val[i] >= Bits)
{
if(i == val.size() -1)
{
val.push_back(val[i] / Bits);
val[i] %= Bits;
}
else
{
val[i+1] += (val[i] / Bits);
val[i] %= Bits;
}
}
++i;
}
}
void operator /= (const LL k)
{
for(int i = val.size() - 1; i >= 1; --i)
{
val[i-1] += (val[i] % k)*Bits;
val[i] /= k;
}
val[0] /= k;
int i = val.size() - 1;
while(val.size() > 1)
{
if(val[i] == 0) val.erase(--val.end());
else break;
i--;
}
}
void Show()
{
cout << val[val.size() - 1];
for(int i = val.size() - 2; i >= 0 ; --i)
{
LL k = Bits / 10;
while( k > 1 )
{
if(val[i] < k) cout << "0";
k /= 10;
}
cout << val[i];
}
cout << endl;
}
}; int main()
{
BigInt A, B;
LL n;
/*A.Set(1), B.Set(Bits - 1);
A += B;
A.Show();*/
//cout << Pi << endl;
while(cin >> n){
if(n < 4) cout << "1\n";
else {
n -= 4;
A.Set(1), B.Set(1);
LL i = 1, j = (n + Pi), Last;
while(i <= (LL)((n + Pi)/ Pi))
{
Last = j;
j = (n + Pi - i*Pi);
for(LL k = Last - 1; k >= j + 1; k--)
{
B *= (k+1);
B /= (i + k); }
B *= (j + 1);
B /= i;
i ++;
A += B;
}
A.Show();
}
}
return 0;
}

CodeVs 3150 (大数 + 递推)的更多相关文章

  1. HDU-1041-Computer Transformation,大数递推,水过~~

                                                                                  Computer Transformatio ...

  2. POJ 1737 Connected Graph (大数+递推)

    题目链接: http://poj.org/problem?id=1737 题意: 求 \(n\) 个点的无向简单(无重边无自环)连通图的个数.\((n<=50)\) 题解: 这题你甚至能OEIS ...

  3. UVa 10328 Coin Toss(Java大数+递推)

    https://vjudge.net/problem/UVA-10328 题意: 有H和T两个字符,现在要排成n位的字符串,求至少有k个字符连续的方案数. 思路:这道题目和ZOJ3747是差不多的,具 ...

  4. 1sting 大数 递推

    You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or lea ...

  5. hdu 1133 Buy the Ticket (大数+递推)

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  6. Tiling(递推+大数)

    Description In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles? Here is a sample tili ...

  7. Children’s Queue HDU 1297 递推+大数

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1297 题目大意: 有n个同学, 站成一排, 要求 女生最少是两个站在一起, 问有多少种排列方式. 题 ...

  8. 递推,大数存储E - Order Count

    Description If we connect 3 numbers with "<" and "=", there are 13 cases: 1) ...

  9. HOJ 2148&POJ 2680(DP递推,加大数运算)

    Computer Transformation Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4561 Accepted: 17 ...

随机推荐

  1. IntelliJ IDEA(2017)安装和破解

    IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具( ...

  2. 在 CentOS6 上安装 Zabbix3.0 Agent 并开启客户端自动注册

    #!/bin/bash # # .配置yum源 # cat /etc/redhat-release |grep -i centos |grep '6.[[:digit:]]' &>/de ...

  3. Hadoop生态组件的WebUI地址

    ================================Impala 相关================================ Impala的常用端口: jdbc/ODBC 端口: ...

  4. Retrofit GreenDao开发中遇到的坑

    持续更新中1.使用@FormUrlEncoded的话,服务端需要使用Request.Form,如果不使用@FormUrlEncoded本地需要由 @FieldMap Map<String, Ob ...

  5. 比较好用的Copy代码到博客VS扩展工具

    这个工具叫做TrimCopy,可以避免拷贝出来的代码带空格,影响布局.

  6. windows下通过压缩包安装MySQL

    一.下载压缩包 二.解压缩后存放在该路径下 三.配置环境变量     将D:\Program Files\mysql-8.0.11-winx64\bin添加到用户PATH变量或系统PATH变量中   ...

  7. 词根 sent/sens

    sense--> to feel (来自于拉丁语 sensus) 词根sent/sens 表示感知 sentiment 感情 consent   consensus  con- 一起, 一起的感 ...

  8. Docker 容器CPU设置

    CPU使用率其实就是你运行的程序占用的CPU资源,表示你的机器在某个时间点的运行程序的情况.使用率越高,说明你的机器在这个时间上运行了很多程序,反之较少.CPU使用率的高低与你的CPU强弱有直接关系. ...

  9. Chain训练准则的计算

    轮迭代时验证集的日志: log/compute_prob_valid.1000.log: LOG (nnet3-chain-compute-prob[5.5.100-d66be]:PrintTotal ...

  10. NPOI 列宽自适应 代码示例

    //列宽自适应,只对英文和数字有效 for (int i = 0; i <= maxColumn; i++) { sheet.AutoSizeColumn(i); } //获取当前列的宽度,然后 ...