发布时间: 2017年7月9日 21:16 最后更新: 2017年7月10日 21:10 时间限制: 1000ms 内存限制: 128M
描述Tony最近喜欢上了龙之谷游戏,所以他想叫上他的好友组建一个公会来一起享受这款游戏。
Tony一共有 n 个好友,他可以叫上任意 k ( 1<=k<=n )个好友来组建公会,并且所有好友都会答应他的请求。问Tony一共可以有多少种方案组建这个公会?
只要不是完全相同的人组建的方案视为不同方案,并且Tony至少要叫上一个人。
输入多组输入,每组一行,输入一个正整数 n ( 1<=n<=1000000000 )。
输出每组输出一行,输出方案数。(对 1000000007 取膜)
样例输入1 复制 2 样例输出1 3 选择语言 想法:2^n-1(快速幂) 想法: #include<bits/stdc++.h> using namespace std; #define MOD 1000000007 long long ws(long long x,long long n) { long long a=x; long long ans=1; while(n) { if(n&1) ans=ans*a%MOD; a=a*a%MOD; n>>=1; } return ans%MOD; } int main() { int n; while(scanf("%d",&n)!=EOF) { printf("%d\n",ws(2,n)-1); } return 0; }