首页 > 其他 > 详细

uva 11609

时间:2015-07-28 17:52:38      阅读:262      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

题意:

  给出n代表有n组测试数据,每组数据给出总人数,取任意人数组成小队,小队的任意成员都可以成为队长。问能组成几种不同的小队。注:当小队队员相同但队长不同时,算新的小队。

Sample Input

3

1

2

3

Sample Output

Case #1: 1

Case #2: 4

Case #3: 12

分析:

  很简单的数学问题,用c(i,n)代表从n个人中取i个组成小队的取费,之后再乘i。这样就算出i个人能在组成小队的个数。

代码:

  

#include<iostream>
using namespace std;
long long cf(long long i,long long n)
{
    long long ans = 1;
    while(n)
    {
        if(n&1)
        {
            ans=ans*i%1000000007;
        }
        i=i*i%1000000007;
        n>>=1;
    }
    return ans;

}
int main()
{
    int n;
    int i;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        int x;
        cin>>x;
        long long y=cf(2,x-1)*x%1000000007;
        cout<<"Case #"<<i<<": "<<y<<endl;
    }
}

uva 11609

原文:http://www.cnblogs.com/137033036-wjl/p/4683357.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!