码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2065 "红色病毒"问题

时间:2018-06-16 01:05:42      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:cin   clu   typedef   color   TE   include   i++   mes   int   

n=1  --> ans = 2 = 1*2 = 2^0(2^0+1)

n=2  -->  ans = 6 = 2*3 = 2^1(2^1+1)
n=3  -->  ans = 20 = 4*5 = 2^2(2^2+1)
n=4  -->  ans = 72 = 8*9 = 2^3(2^3+1)
n=k  -->  ??? = 2^k-1*(2^k-1+1)
   于是题目转化为快速幂问题.....
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int solve(ll a, ll b) {
    ll ans = 1;
    a %= 100;
    while(b) {
        if(b&1) ans = ans *a % 100;
        b /= 2;
        a = a * a % 100;
    }
    return ans;
}
int main() {
    int t;
    while(cin >> t && t) {
        for(int i = 1; i <= t; i++) {
            ll n;
            cin >> n;
            n = solve(2, n-1);
            printf("Case %d: %d\n", i, (n*(n+1))%100);
        }
        printf("\n");
    }
    return 0;
}

 

hdu 2065 "红色病毒"问题

标签:cin   clu   typedef   color   TE   include   i++   mes   int   

原文地址:https://www.cnblogs.com/kindleheart/p/9189402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!