練習 - I Think I Need a Houseboat

I Think I Need a Houseboat

題目:甲人考慮在某地購買一些土地,並在土地上建造他的家,在對土地的調查中他發現,由於某地附近的河流會侵蝕某地的土地每年減少50平方英里。因甲人準備在他所建的家中度過他的後半生,所以他要知道是否他的土地會因為河流的侵蝕而喪失。在做了很多的研究後,甲人發現正在失去的土地構成一個半圓形,這個半圓形是一個圖的一部分圓心在(0,0),二等分這個圓的線是X軸,X軸的下方是水。在第1年開始的時候,這一半圓的面積為0。
Math-1.3

輸入:輸入的第一行是一個正整數,表示有多少個測試資料集(N)。每次先後要輸入笛卡兒座標X和Y,表示甲人考慮購買的土地的位置,這些數是浮點整,以英里為單位,Y座標非負,不會列出(0,0)

輸出:對每組輸入的測試資料集,輸出一行形式為「Property N: This property will begin eroding in year Z.」。其中N是資料集(從1開始記數),Z是他的土地到第Z年結束的時候要落到半圓形中的那一年(從1開始記數),Z必須是一個整數。在最後一個資料集後,需輸出「END OF OUTPUT」

import java.util.Scanner;

public class IThinkINeedaHouseboat {
	static int num_props;
	static float x, y;
	static int i;
	static double calc;
	static int years;

	public static void main(String[] args) {
		Scanner scanIn = new Scanner(System.in); //輸入第1組的第一個資料
        	num_props = scanIn.nextInt();
        	for(i = 1; i <= num_props; i++) {
        		scanIn = new Scanner(System.in); //輸入x坐標資料
            		x = scanIn.nextFloat();
            		scanIn = new Scanner(System.in); //輸入y坐標資料
            		y = scanIn.nextFloat();
            		calc = (x*x + y*y) * Math.PI / 2 / 50; //計算坐標需多少年後才失去
            		years = (int) Math.ceil(calc);
            		System.out.printf("Property %d: This property will begin eroding in year %d. \n", i, years);
        	}
        	System.out.println("END OF OUTPUT. \n");
	}

}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*

驗證碼 * Time limit is exhausted. Please reload CAPTCHA.

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料