P1077克隆龙
描写叙述
如今龙的克隆已成为可能,龙基因由ACTG字母组成,而龙的基因有例如以下特点:
1、A在基因中的出现为偶数次(包含0);
2、C的情况也一样。
当n=2时 满足条件的有6个:
TT,TG,GT,GG,AA,CC
你仅仅需给出满足条件的基因数的最后两位数字就可以;
格式
输入格式
输入文件给出了若干个n(1<=n<=10^9).最后以0结束。
输出格式
对于输入的n,满足条件的字符串的个数的最后两位数字!
来源
huyichen
找规律就可,指数型母函数稍后上传
这里的零应该进行特殊处理,比較坑
用python直接就是个递推式
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import math
import sys
for cin in sys.stdin:
n = long(cin)
if not n:break
n -= 1
a = math.ceil(pow(2, n, 100) * (pow(2, n, 100) + 1))
a = long(a)
if a % 100 == 0:
print '00'
else:
print a % 100
C++:
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
int a[11] = {2,6,20,72,72,56,60,12,92,56};
int b[21] = {0,52,12,56,40,92,32,56,80,32,52,56,20,72,72,56,60,12,92,56};
int main() {
int n;
while(~ scanf("%I64d", &n),n) {
if(n <= 10) {
n -- ;
printf("%d\n",a[n]);
} else {
if(b[(n - 11) % 20] == 0) printf("00\n");
else printf("%d\n",b[(n - 11) % 20]);
}
}
return 0;
}