求暗黑字符串的个数

import java.util.Scanner;

public class Main {

    private static final int MAXN = 35;
    private static long dp[] = new long[MAXN];

    private static void init() {
        dp[1] = 3;
        dp[2] = 9;
        for (int i = 3; i < MAXN; i++) {
            dp[i] = dp[i - 1] * 2 + dp[i - 2];
        }
    }

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        init();
        while (cin.hasNext()) {
            int n = cin.nextInt();
            System.out.println(dp[n]);
        }
    }
}

#网易#
全部评论
为什么????
点赞
送花
回复
分享
发布于 2016-09-12 20:37
求解这些规律怎么找的 
点赞
送花
回复
分享
发布于 2016-09-12 20:39
滴滴
校招火热招聘中
官网直投
全通过了吗
点赞
送花
回复
分享
发布于 2016-09-12 20:38
这还能找规律?
点赞
送花
回复
分享
发布于 2016-09-12 20:38
为什么数组是long型可以全A啊?
点赞
送花
回复
分享
发布于 2016-09-12 20:39
牛逼。
点赞
送花
回复
分享
发布于 2016-09-12 23:31
很强势。。。
点赞
送花
回复
分享
发布于 2016-09-12 23:39
我其实已经发现2,3规律了,可惜公式写错了,哎~可惜了
点赞
送花
回复
分享
发布于 2016-09-12 23:57
为什么题目中的例子长度2的个数是3。。。。
点赞
送花
回复
分享
发布于 2016-09-13 08:45
这题目出的有问题吧,根本不能让人理解,都以为出错题了呢
点赞
送花
回复
分享
发布于 2016-09-13 09:05
解析解 #include <cstdio> #include <cmath> using namespace std; int main() { double n; scanf("%lf",&n); double a = 1 + sqrt(2), b = 1 - sqrt(2); double x; x = (9 - 3 * a)*pow(b,(n - 2))* (1 - pow((a / b),(n - 1))) / (1 - a / b) + 3 * pow(a ,(n - 1)); printf("%.0f",x); return 0; }
点赞
送花
回复
分享
发布于 2017-03-25 10:39

相关推荐

头像
不愿透露姓名的神秘牛友
04-22 21:10
投递恒生电子股份有限公司等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务