您的位置:首页 > 其它

POJ 1003

2014-05-11 13:21 134 查看
#include <iostream>
using namespace std;
const double delat=1e-8;

int zexo (double x){
	if (x < -delat) return -1;
	return x > delat;
}
int main (){
	int total=0;
	double len[350];
	len[0]=0.0;
	for (total = 1; zexo (len[total-1]-5.20) < 0;total ++)
		len[total] = len[total-1] + 1.0 / double(total + 1);
	double x;
	int l,r,mid;
	cin >> x;
	while (zexo (x)){
		l=0,r=total;
		while (l + 1 < r){
			mid = (l + r) / 2;
			if (zexo (len[mid]-x) < 0)
				l = mid;
			else 
				r = mid;
		}
		cout<< r << " card(s)\n";
		cin >> x;
	}
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: