角谷猜想的实际应用,洛谷题单

问题说明:

你听说过角谷预想吗?

的任意正整数,例如5,我们从那里开始,按如下规则计算:

如果是偶数的话用2除,如果是奇数的话乘以3再加1。

这样循环,最终一定会得到“1”!

例如,5的处理过程:

5

16

8

4

2

1

一个正整数要经过多少步骤才能成为1,这被称为角谷步数。

在5的情况下,步数也是5

如果为1,则步数为0

本问题的要求是从标准输入中给出整数n1)

求出满足该角谷步数的最小正整数

例如:

输入:

3

输出:

8

输入:

4

输出:

16

输入:

7

输出:

3

问题解决:

package编程的大问题

import java.util.Scanner;

公共类文件15 {

privatestaticscannerscanner=new scanner system.in );

//*

*计算某个数的角谷步数

*

* @param source

*求整数

* @return计算的角谷步骤数

*/

publicstaticintgetnum int source ) {

int num=0 //角谷步数

whilesource!=1) {

ifsource%2==0

//偶数的话除以2

source=source/2;

} else {

//如果是奇数,乘以3再加1

source=source * 3 1;

}

num;

}

return num;

}

publicstaticvoidmain string [ ] args ) {

int num=scanner.nextInt ; //输入角谷步数1

int temp=1; //满足此角谷步数的最小正整数

getnum temp )!=num ) {

时间;

}

system.out.printlntemp );

}

}

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注