题意:初始串为一个1,每一步会将每个0改成10,每个1改成01,因此1会依次变成01,1001,01101001,……输入n(n<=1000),统计n步之后得到的串中,"00"这样的连续两个0出现了多少次。

分析:找规律,输出n等于20之前所有的结果

得到结论,i为奇数时,a[i] = a[i - 1] * 2 - 1; i为偶数时,a[i] = a[i - 1] * 2 + 1。

import java.util.*;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
BigInteger[] a = new BigInteger[1010];
a[1] = new BigInteger("0");
BigInteger one = new BigInteger("1");
BigInteger two = new BigInteger("2");
for(int i = 2; i <= 1000; ++i){
if(i % 2 == 1){
a[i] = a[i - 1].multiply(two).subtract(one);
}
else{
a[i] = a[i - 1].multiply(two).add(one);
}
}
while(sc.hasNextInt()){
int n = sc.nextInt();
System.out.println(a[n]);
}
} }

  

最新文章

  1. EXCEL中多级分类汇总空白字段填充
  2. js 页面无滚动条添加滚轮事件
  3. 重启SQL Server——总是好事?
  4. linux——基本配置
  5. 记录Cat类的个体数目
  6. HDU 1079 Calendar Game(简单博弈)
  7. 树-红黑树(R-B Tree)
  8. Java获取 JVM 运行信息
  9. 最新xgboost python32位下安装xgboost
  10. JavaScript函数 bind call apply区别
  11. Oracle实用-01:绑定变量
  12. H2O是开源基于大数据的机器学习库包
  13. 代码编辑器横评:为什么 VS Code 能拔得头筹
  14. Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁
  15. class面向对象-2
  16. TIMESTAMPDIFF用法
  17. Asp.Net前台调用后台变量
  18. 关于Unity中UI中的Mask组件、Text组件和布局
  19. BZOJ 3958 Mummy Madness
  20. (队列的应用5.3.1)ZOJ 3210 A Stack or A Queue?根据进入结构的序列和离开结构的序列确定是stack还是queue)

热门文章

  1. springboot打包的问题可执行jar和不可执行jar
  2. js正则 - 限制用户名只能中文、字母和数字 , 不能包含特殊字符
  3. 9.2.1 hadoop mapreduce任务输出的默认排序
  4. Day3-H-Alice and Bob HDU4268
  5. 0. GC 前置知识
  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:自适应大小的按钮组
  7. 033、Java中使用简化运算符
  8. Spark Storage 模块
  9. mysql 索引入门
  10. python实现二分法