Hangover,如下:
1/3 5/6 card lengths. In general you can make cards overhang by 1/2 1/3 1/4 ... 1/( 1) card lengths, where the top card overhangs the second by 1/2, the second overhangs tha third by 1/3, the third overhangs the fourth by 1/4, etc., and the bottom card overhangs the table by 1/( 1). This is illustrated in the figure below.
1.003.710.045.190.00
3 card(s)61 card(s)1 card(s)273 card(s)
import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Hangover {public static void main(String args[]){List<Float> list = new ArrayList<Float>();Scanner scanner = new Scanner(System.in);int all = scanner.nextInt();while(all > 0){list.add(scanner.nextFloat());all --;}for(int i = 0; i < list.size(); i ++){float f = list.get(i);int count = 1;float j=2,sum=0;for(; sum + (1/j) < f; j ++){count ++;sum = sum+ (1/j);}System.out.println(count + " card(s)");}}}
輸入輸出如下:
4 1.00 3.71 0.04 5.193 card(s)61 card(s)1 card(s)273 card(s)
由於輸入的時候弄了半天沒想出合適的用0.00結尾的方法,就用了開頭先輸入一個整數,表示後面要輸入的整數個數,然後依次輸入的方法,
相信你能看懂。
作者:jason0539
微博:
部落格:(轉載請說明出處)