Teams UVA - 11609

题意就不多说了这个小规律不算难,比较容易发现,就是让你求一个数n*2^(n-1);很好想只是代码实现起来还是有点小困(简)难(单)滴啦,一个快速幂就OK了;

代码:

#include<stdio.h>
#define mod 1000000007
#define ll long long
ll pow(ll a,ll b)
{
    ll ans=1;
    while(b)
    {
        if(b%2>0)
            ans=ans*a%mod;
         a=a*a%mod;
        b/=2;
    }
    return ans;
}
int main()
{
    ll m,n,t,b,i;
    scanf("%lld",&t);
    for(i=1;i<=t;i++)
    {
        scanf("%lld",&n);
        m=(n*pow(2,n-1))%mod;
        printf("Case #%lld: %lld\n",i,m);
    }
    return 0;
}

 

posted @ 2018-02-22 19:57  NoRain丶  阅读(83)  评论(0编辑  收藏  举报