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

輸入:輸入的第一行是一個正整數,表示有多少個測試資料集(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");
}
}
鏈結到這頁!