添加好友
发布时间: 2017年7月8日 21:10 最后更新: 2017年7月8日 22:32 时间限制: 1000ms 内存限制: 128M
   <label class="problem-label" style="display:inline-block;font-weight:700;font-size:16px;">描述</label>            
   Tony最近喜欢上了龙之谷游戏,所以他想叫上他的好友组建一个公会来一起享受这款游戏。
Tony一共有n个好友,他可以叫上任意k(1<=k<=n)个好友来组建公会,并且所有好友都会答应他的请求。问Tony一共可以有多少种方案组建这个公会?
只要不是完全相同的人组建的方案视为不同方案,并且Tony至少要叫上一个人。
   <label class="problem-label" style="display:inline-block;font-weight:700;font-size:16px;">输入</label>    
   多组输入,每组一行,输入一个正整数n(1<=n<=1000000000)。
   <label class="problem-label" style="display:inline-block;font-weight:700;font-size:16px;">输出</label>    
   每组输出一行,输出方案数。(对1000000007取膜)
   <label class="problem-label" style="display:inline-block;font-weight:700;font-size:16px;">样例输入1</label>    复制    
   2
   <label class="problem-label" style="display:inline-block;font-weight:700;font-size:16px;">样例输出1</label>    
  3
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<cstdlib>
using namespace std;
long long quickmod(long long a,long long b,long long m)  
{  
    long long ans = 1;  
    while(b)
    {  
        if(b&1)
        {  
            ans = (ans*a)%m;
            b--;  
        }  
        b/=2;  
        a = a*a%m;  
    }  
    return ans;  
}  
int main(){
	int n;
	while(~scanf("%d",&n)){
		long long res = quickmod(2,n,1000000007);
		res--;
		cout<<res<<endl;
	}
	return 0;
} 
 京公网安备 11010502036488号
京公网安备 11010502036488号