HDOJ HDU 1041 Computer Transformation

HDOJ 1041 Computer Transformation

题目

点此查看 HDOJ 1041 Computer Transformation

分类

找规律

题意

初始序列为 1
下一个序列为将 0 换为 1 0 将 1 换为 0 1
求 n 次变换后 序列中的 0 的对数

模拟变换

次数序列0的对数0的个数
0100
10 101
21 0 0 112
30 1 1 0 1 0 0 114

题解

通项公式 为 f(n) = [2^(n-1) + (-1)^n]/3;
我们看看怎么推出上式
有题解可以看到 每轮的 0 的个数 为 2^(n-1)
由于 单个0后必有一个 1
所以 下一轮 会变成 1001 多一个 00
而 00 后必为 1
所以 下一轮 会变成 101001 多一个 00
当前 00 的个数时 上一轮单 0 的个数 即 所有 0 的个数 - 00的个数
f(n) = 2 ^ (n-1) - f(n-1)
由递推式求得
f(n) = [2^(n-1) + (-1)^n]/3

代码

点击查看 代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值