JAVA 实现角谷定理

该博客介绍了如何使用Java编程实现角谷定理,即输入一个数,通过判断其奇偶性进行相应运算,最终总会得到1。示例代码展示了如何计算需要多少次运算才能达到1,并给出了验证结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 实现角谷定理

什么是角谷定理?
任意输入一个数,如果是偶数,则除以2,若是奇数,则乘3再加1.经历若干次后,最后的值一定是1,求需要经历多少次会变成1.
例如:
输入6:则
6 3 10 5 16 8 4 2 1
需要计算9次。

package day0720;
import java.util.Scanner;
public class Demo {
	static int count  =0;//创建一个全局变量进行计算次数
	public static void main(String[] args) {
		System.out.print("请输入一个数:");
		int sc = new Scanner(System.in).nextInt();
		int i = panduan(sc);
		System.out.println();
		System.out.println("共计算"+count+"次");
	}
	public static int panduan(int sc) {
		if(sc==1) {
			System.out.print(sc+" ");//输入为1不用进行运算
			count++;   //计数
		}else if (sc%2==0) {
			System.out.print(sc+" ");
			sc=sc/2;    //偶数需要除以2
			panduan(sc);
			//若不为1,需要继续进行运算,所以要再次调用
			count++;   //计数
		}else if (sc%2!=0) {
			System.out.print(sc+" ");
			sc=sc*3+1;   //奇数乘以3加1
			panduan(sc);
			//若不为1,需要继续进行运算,所以要再次调用
			count ++;   //计数
		}
		return count;
	}
}

验证结果:
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中华田园狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值