一个水题可是错了好几次,原因就是在scanf n 时输入的格式错了,应该是:%lf
//思路:首先是通过打表找到当长度取 0.01到5.20之间的数时,最多要多少张card,
//然后将张数存到length中用下表i表示张数
#include <iostream>
#include <algorithm>
using namespace std;
#include <stdlib.h>
int main ()
{
double length[300];
memset ( length, 0, sizeof(length));
for ( int i = 1; i <= 300; i ++)
{
for (int j = 1; j <= i; j ++)
{
length[i] += 1.0 / ( j + 1 );
}
//printf ("%d %.2f\n", i, length[i]);
}
double n;
while ( scanf ("%lf", &n) && n != 0.00 ) {
for ( int i = 1;i <= 300; i ++ )
{
if ( n <= length[i] )
{
printf ("%d card(s)\n", i);
break;
}
}
}
system ("pause");
return 0;
}
posted on 2010-09-07 21:04
雪黛依梦 阅读(327)
评论(0) 编辑 收藏 引用 所属分类:
简单题