第2个回答 2011-04-24
#include<cstdio>
int main()
{
double s1=0,s2;
int t=0;
do {
t++;
s2=s1;
s1+=1.0/t;
}while(s1<8);
if(s1+s2>16) printf("%lf %d\n",s2,t-1);
else printf("%lf %d\n",s1,t);
}
补:
#include<cstdio>
#include<cmath>
int main()
{
int n;
while(~scanf("%d",&n)){
double s1=0,s2;
int t=0;
do {
t++;
s2=s1;
s1+=1.0/t;
}while(s1<8&&t<n);
if(fabs(s1-8)>fabs(8-s2)) printf("%lf %d\n",s2,t-1);
else printf("%lf %d\n",s1,t);
}
}