java语言的科学与艺术-编程练习Hailstone
1 /* 2 * File: Hailstone.java 3 * Name: 4 * Section Leader: 5 * -------------------- 6 * This file is the starter file for the Hailstone problem. 7 */ 8 9 import acm.program.*; 10 11 public class Hailstone extends ConsoleProgram { 12 public void run() { 13 println("This program show the Hailstone sequence."); 14 int n = readInt("Enter a postive number: "); 15 int m = 0; 16 int i = 0; // this is count 17 while(n != 1){ 18 if(n % 2 == 0){ 19 m = nIsEven(n); 20 println(n + " is even so I take half: " + m); 21 n = m; 22 i++; 23 } else { 24 m = nIsOdd(n); 25 println(n + " is odd, so I male 3n + 1: " + m); 26 n = m; 27 i++; 28 } 29 } 30 println("The process took " + i + " to reach 1"); 31 } 32 33 /* 34 * If n is even, take half. 35 */ 36 private int nIsEven(int n){ 37 return n / 2; 38 } 39 40 /* 41 * If n is odd, make 3n + 1. 42 */ 43 private int nIsOdd(int n){ 44 return 3*n + 1; 45 } 46 }
posted on 2012-12-08 20:43 mybluecode 阅读(343) 评论(0) 编辑 收藏 举报