[恢]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 ;
}



posted @ 2012-01-06 23:00  Seraph2012  阅读(177)  评论(0编辑  收藏  举报