輸入整數角谷步數 你聽說過角谷猜想嗎? 任意的正整數,比如 5, 我們從它開始,如下規則計算: 如果是偶數,則除以2,如果是奇數,則乘以3再加1. 如此迴圈,最終必會得到“1” !輸入整數...

weixin_34402090發表於2013-04-21

廢話就不多說了,開始。。。

/*	角谷步數
 * 你聽說過角谷想猜嗎?
恣意的正整數,比如 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

文章結束給大家分享下程式設計師的一些笑話語錄: 剎車失靈
有一個物理學家,工程師和一個程式設計師駕駛著一輛汽車行駛在阿爾卑斯山脈 上,在下山的時候,忽然,汽車的剎車失靈了,汽車無法控制地向下衝去, 眼看前面就是一個懸崖峭壁,但是很幸運的是在這個懸崖的前面有一些小樹 讓他們的汽車停了下來, 而沒有掉下山去。 三個驚魂未定地從車裡爬了出來。
物理學家說, “我覺得我們應該建立一個模型來模擬在下山過程中剎車片在高 溫情況下失靈的情形”。
工程師說, “我在車的後備廂來有個扳手, 要不我們把車拆開看看到底是什麼 原因”。
程式設計師說,“為什麼我們不找個相同的車再來一次以重現這個問題呢?”

相關文章