[恢]hdu 2200
2011-12-20 12:09:16
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2200
题意:中文。
mark:求公式。假如n个元素就是1~n。设较小的集合内最大的数字为i,则小集合可以有2^(i-1)种取法。较大的集合则有2^(n-1)-1种取法。把i从1到n累加起来,得公式(n-2)*2^(n-1)+1。
代码:
# include <stdio.h>
int main ()
{
long long n ;
while (~scanf ("%I64d", &n))
{
printf ("%I64d\n", (1LL << (n-1)) * (n-2) + 1) ;
}
return 0 ;
}