UVA - 1647 Computer Transformation(计算机变换)(找规律)
2024-09-02 03:46:44
题意:初始串为一个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]);
}
} }
最新文章
- EXCEL中多级分类汇总空白字段填充
- js 页面无滚动条添加滚轮事件
- 重启SQL Server——总是好事?
- linux——基本配置
- 记录Cat类的个体数目
- HDU 1079 Calendar Game(简单博弈)
- 树-红黑树(R-B Tree)
- Java获取 JVM 运行信息
- 最新xgboost python32位下安装xgboost
- JavaScript函数 bind call apply区别
- Oracle实用-01:绑定变量
- H2O是开源基于大数据的机器学习库包
- 代码编辑器横评:为什么 VS Code 能拔得头筹
- Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁
- class面向对象-2
- TIMESTAMPDIFF用法
- Asp.Net前台调用后台变量
- 关于Unity中UI中的Mask组件、Text组件和布局
- BZOJ 3958 Mummy Madness
- (队列的应用5.3.1)ZOJ 3210 A Stack or A Queue?根据进入结构的序列和离开结构的序列确定是stack还是queue)