冰雹数
任意给定一个正整数N
如果是偶数,执行: N / 2
如果是奇数,执行: N * 3 + 1
生成的新的数字再执行同样的动作,循环往复。
通过观察发现,这个数字会一会儿上升到很高, 一会儿又降落下来。 就这样起起落落的,但最终必会落到“1” 这有点像小冰雹粒子在冰雹云中翻滚增长的样子。
package Hailstone ; public class Hailstone { //计算冰雹猜想的长度 //一个数,若n为奇数,则n=3n+1;若n为偶数,则n=n/2 public static void main(String[] args) { System.out.println(function(27)); } public static int function(int n) { int length = 1; while(n>1) { n= (n%2==0)?n/2:3*n+1; length++; } return length; } }
浙公网安备 33010602011771号