「POJ - 1003」Hangover

BUPT 2017 summer training (16) #2C

题意

n个卡片可以支撑住的长度是1/2+1/3+1/4+..+1/(n+1)个卡片长度。现在给出需要达到总长度,求最小的n。

题解

模拟加起来,直到长度不小于给定的总长度。
我也写了个java代码_

代码

import java.util.*;
import java.io.*;

public class Main{
	public static void main(String []args){
		Scanner	cin = new Scanner(new BufferedInputStream(System.in));
		while(cin.hasNext()){
			double f = cin.nextDouble(), ans = 0;
			if(f==0) break;
			int i;
			for(i=2;ans<f;++i)
				ans+=1.0/i;
			System.out.println((i-2) + " card(s)");
		}
	}
}
posted @ 2017-07-20 10:31  水郁  阅读(145)  评论(0编辑  收藏  举报
……