Java数据结构及算法实例:考拉兹猜想 Collatz Conjecture
作者:junjie 发布时间:2022-06-06 04:45:25
标签:Java,数据结构,算法,考拉兹猜想,Collatz,Conjecture
/**
* 考拉兹猜想:Collatz Conjecture
* 又称为3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想,
* 是指对于每一个正整数,如果它是奇数,则对它乘3再加1,
* 如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
*/
package al;
public class CollatzConjecture {
private int i = 1;
public static void main(String[] args) {
long l = 9999999;
System.out.println("l is "+ l);
CollatzConjecture cc = new CollatzConjecture();
cc.Collatz(l);
}
/**
* 至今尚未有人能證明其正確性。有趣的是,目前也尚未檢查出任何反例。
* 猜想的內容是這樣的:有一個整數,如果是偶數,就除以 2 ;
* 如果是奇數,就乘以 3 再加 1 。
* 一個整數不斷這樣操作下去,最後一定會變成 1 。
* 這個操作的過程就是一種迭代。
* @author
* @param param 初始输入的数字
*/
private void Collatz(long param) {
System.out.println("After " + i + " time we get result " + param);
if(param > 1) {
i++;
if (param%2 == 0) {
Collatz(param/2);
} else {
Collatz(3*param + 1);
}
}
}
}


猜你喜欢
- 各个框架版本信息springboot: 2.1.3springcloud: Greenwich.RELEASEseata: 1.0.0sha
- 本文实例讲述了C#查找对象在ArrayList中出现位置的方法。分享给大家供大家参考。具体分析如下:我们可以通过IndexOf方法来查找对象
- java多线程-同步块Java 同步块(synchronized block)用来标记方法或者代码块是同步的。Java 同步块用来避免竞争。
- 一、Spring Boot的特点首先我们要知道 Spring Boot 在底层已经为我们添加好了很多依赖。比如我们常用的Tomcat,Spr
- 1. 查找系统中坏味道的异常处理代码在上篇文章杂谈异常处理try-catch-finally中主要详细介绍了C#异常处理的概念,
- 概述在使用maven进行Java项目的开发过程中,难免会有些公共的私有库,这些库是不太方便放到中央仓库的,可以通过Nexus搭建一个私有仓库
- 如下所示://判断整数(int)private boolean isInteger(String str) {if (null == str
- 简介我们在前面的Android教程中已经提到过这么一件事:Android在启动后会有一个主线程。它不允许任何子线程去改变主UI线程里的内容。
- 分组类控件主要包括容器控件(Panel),分组框控件(groupBox)和选项卡控件(TabControl)等控件。一、Panel控件Pan
- 目录1.系统需求分析1.1 系统功能及框图该项目实现了备忘录的创建,修改,删除,查询,对备忘录数目的统计和软件的说明。1.2 系统需求功能&
- 之前写轮播条或者指示器的时候都是UI图里面直接有,这样的效果并不好,给用户的体验比较差,所以闲暇之余自己写了个指示器,可以展现出一个优雅的效
- 刚接触了一个微服务架构的项目,了解到了启动方式,记录一下1、找到workspace.xml2.打开workspace.xml,找到其中的配置
- Mapper:@Mapper@OracleRepositorypublic interface OracleRadiusMapper{@In
- 电话号码的字母组合中等给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下
- 对于Hibernate刚刚学习了一周时间了,作为一名java初学者,也有点自己的感受想分享出来,如果这篇文章能有幸被大家看到,也仅供大家娱乐
- 1、final修饰类被final修饰的类不能被继承,因此final类的成员方法也不能被覆写,被final关键字修饰的类没有子类,因此类的实现
- 本文详细讲述了Android平台基于Pull方式对XML文件解析与写入方法。分享给大家供大家参考,具体如下:XML技术在跨平台的情况下的数据
- 先给大家展示下效果图,感觉不错请参考实例代码。实现思路在flutter中,如果想实现上面的页面切换效果,必然会想到pageView。page
- BeanUtils.copyProperties忽略空值使用spring开发的人,对这行代码肯定不陌生,常用于DTO、VO、PO之间的复制。
- ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕.1. ListView的简单用