HDU - 4704(费马小定理和快速幂)
Input
2
Output
2
1. For N = 2, S(1) = S(2) = 1.2. The input file consists of multiple test cases.
Sample Input
2
Sample Output
2
代码 :
其实我看不懂是题目是搜索博客的这道题就是x1+x2+x3+···+xn=N,求有几种组合方法。
利用数学方法中的“隔板法”,不难知道结果就是C(n-1)^0+C(n-1)^1+C(n-1)^2+···+C(n-1)^r+···+C(n-1)^(n-1).这是二项式定理的展开式。 根据二项式定理不难得出,结果就是2^(n-1)。所以,这道题就转换为求解2^(n-1)mod(1e9+7)
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
char str[100005];
const LL mod=1e9+7;
//快速幂
LL FastPow(LL a,LL b)
{LL ans=1; while(b) { if(b&1) ans=ans*a%mod; a=a*a%mod; b>>=1; } return ans;
}
//费马小定理
LL FeiMaXiao(char *str)
{LL ans=0;for(int i=0;str[i]!='\0';i++)ans=(ans*10+str[i]-'0')%(mod-1);return ans;
}
int main()
{while(scanf("%s",str)!=EOF){LL n = FeiMaXiao(str);printf("%lld\n",FastPow(2,n-1));}return 0;
}
HDU - 4704(费马小定理和快速幂)相关推荐
- hdu 4549 M斐波那契数列(费马小定理 + 二分快速幂 + 矩阵快速幂)
M斐波那契数列 Time Limit: 3000/1 ...
- 费马小定理以及快速幂应用
费马小定理 定理 例子 代码 逆元 快速幂代码 快速幂求逆元 定理 假设p为质数,a不是p的倍数,则有 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv 1(mod \spa ...
- 【ACM】杭电OJ 4704 Sum (隔板原理+组合数求和公式+费马小定理+快速幂)
http://acm.hdu.edu.cn/showproblem.php?pid=4704 1.隔板原理 1~N有N个元素,每个元素代表一个1.分成K个数,即在(N-1)个空挡里放置(K-1)块隔板 ...
- HDU - 5667 Sequence(矩阵快速幂+费马小定理降幂)
题目链接:点击查看 题目大意:给出函数f(x): 现给出n,a,b,c,mod,求f(n)对mod取模后的结果 题目分析:这个题目相对于前几个题来说稍微加大了点难度,但还是挺水的一个题,首先我们可以对 ...
- HDU 4549 M斐波那契数列(矩阵快速幂费马小定理)
ps:今天和战友聊到矩阵快速幂,想到前几天学长推荐去刷矩阵专题,挑了其中唯一一道中文题,没想到越过山却被河挡住去路... 题目链接:[kuangbin带你飞]专题十九 矩阵 R - M斐波那契数列 T ...
- HDU 4704 Sum (费马小定理)
题意 给定一个N,设S(K)表示x1 + x2 + -- + xk = N的解的个数(xi ∈ Z+),求SUM( S(i), 0 <= i <= N ) mod 109+7. 思路 ...
- Happy 2004(积性函数、快速幂取模、费马小定理、求因数和)
happy 2004 题目 积性函数 求因数和 费马小定理 定理 取模 加减法 乘法 除法 结论 推导 快速幂取模 快速幂 快速幂取模 题目代码 坑点 题目 Consider a positive i ...
- HDU4549 M斐波那契数列(矩阵快速幂+费马小定理)
Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) ...
- HDU4549 M斐波那契数列 —— 斐波那契、费马小定理、矩阵快速幂
题目链接:https://vjudge.net/problem/HDU-4549 M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Li ...
- 51nod 1513-3的幂的和(费马小定理+快速幂)
题目: 求:3^0 + 3^1 +...+ 3^(N) mod 1000000007 Input 输入一个数N(0 <= N <= 10^9) Output 输出:计算结果 Sample ...
最新文章
- sentinel使用(结合gateway)
- python函数定义中参数列表里的参数是_详解Python函数中参数带星号是什么意思
- HTML5之音频audio知识(部分vedio)
- 移植opencv2.4.9到itop4412开发板
- 所谓 jQuery 插件,怎样开发一个 jQuery 插件
- jvm五:编译期不能确定常量的值
- 地区省份城市sql信息
- CImage类 from http://www.cnblogs.com/afarmer/archive/2012/03/31/2427273.html
- 黑色30s高并发IIS设置
- 设计模式:工厂方法模式(C++)【简单工厂进行升级】
- popen 如何获取指令执行情况_Linux下使用popen()执行shell命令
- OAuth 及 移动端鉴权调研
- Netpas:不一样的SD-WAN+ 保障网络通讯品质
- 【SAP消息号AA776】
- win10电脑用命令行关机
- Mac连局域网打印机
- dw怎么做html鼠标变化,dw鼠标经过单元格变色 DW 鼠标经过表格 背景变色
- 顶级的 18 款开源低代码开发平台
- linux手动重启网卡驱动,手动添加linux无线网卡驱动
- shell运行python脚本报错没有包_脚本安装Discuz论坛(shell + Python 实现自动化安装)...