欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输入整数角谷步数 你听说过角谷猜想吗? 任意的正整数,比如 5, 我们从它开始,如下规则计算: 如果是偶数,则除以2,如果是奇数,则乘以3再加1. 如此循环,最终必会得到“1” !输入整数...

程序员文章站 2022-07-07 10:30:28
...

废话就不多说了,开始。。。

/*	角谷步数
 * 你听说过角谷想猜吗?
恣意的正整数,比如 5, 我们从它开始,如下规矩算计:
如果是偶数,则除以2,如果是奇数,则乘以3再加1.
如此循环,终最必会失掉“1” !

比如 5 的理处程过是:
5
16
8
4
2
1

一个正整数经过多少步才能酿成1, 称为角谷步数。
对于5而言,步数也是5
对于1,步数为0

本题的要求是,从标准输入给定一个整数n(1<n<300)表现角谷步数
求满意这个角谷步数的小最的正整数

例如:

输入:
3
则出输:
8

输入:
4
则出输:
16

输入:
7
则出输:
3
 */
import java.util.Scanner;

public class 角谷步数 {
	static int sum = 0;
	public static void f(int n){
		if(n<=1){
			return ;
		}
		sum++;
		if(n%2==0){
			f(n/2);	// 如果是偶数,则除以2
		}else{
			f(n*3+1);	// 如果是奇数,则乘以3再加1
		}
	}
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("输入给定一个整数n(1<n<300)");
		int n = scan.nextInt();
		int i=0;
		while(true){
			f(++i);	// 失掉角谷步数sum
			if(sum==n){
				System.out.println(i);
				return ;
			}
			sum = 0;
		}
	}
}
    每日一道理
巴尔扎克说过“不幸,是天才的进升阶梯,信徒的洗礼之水,弱者的无底深渊”。风雨过后,眼前会是鸥翔鱼游的天水一色;走出荆棘,前面就是铺满鲜花的康庄大道;登上山顶,脚下便是积翠如云的空蒙山色。 在这个世界上,一星陨落,黯淡不了星空灿烂,一花凋零,荒芜不了整个春天。人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃。

    运行结果:

输入给定一个整数n(1<n<300)
4
16

文章结束给大家分享下程序员的一些笑话语录: 刹车失灵
有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉 上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去, 眼看前面就是一个悬崖峭壁,但是很幸运的是在这个悬崖的前面有一些小树 让他们的汽车停了下来, 而没有掉下山去。 三个惊魂未定地从车里爬了出来。
物理学家说, “我觉得我们应该建立一个模型来模拟在下山过程中刹车片在高 温情况下失灵的情形”。
工程师说, “我在车的后备厢来有个扳手, 要不我们把车拆开看看到底是什么 原因”。
程序员说,“为什么我们不找个相同的车再来一次以重现这个问题呢?”

转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/21/3033398.html