Key Set<hdoj5363>

来源:互联网 发布:金润软件成都 编辑:程序博客网 时间:2024/04/30 10:48
Problem Description
soda has a set S with n integers {1,2,,n}. A set is called key set if the sum of integers in the set is an even number. He wants to know how many nonempty subsets of S are key set.
 

Input
There are multiple test cases. The first line of input contains an integer T (1T105), indicating the number of test cases. For each test case:

The first line contains an integer n (1n109), the number of integers in the set.
 

Output
For each test case, output the number of key sets modulo 1000000007.
 

Sample Input
41234
 

Sample Output
0137
#include<cstdio>long long quickpow(long long n){long long ans=1,base=2;     n=n-1;while(n){if(n&1){ans=(base*ans)%1000000007;}base=(base*base)%1000000007;n>>=1;}return ans-1;}int main(){     int t;     scanf("%d",&t); while(t--) { long long n; scanf("%lld",&n); printf("%lld\n",quickpow(n));  } return 0;}

0 0