主题:ZOJ 1045 (c语言)
原题:
http://acm.zju.edu.cn/show_problem.php?pid=1045
有两个程序,我的问题是为什么第一个是i-2,第二个是i-1?
两个程序都通过了..
第一个:#include <stdio.h>
int main()
{
float n,s;
int i;
while(scanf("%f",&n) && n != 0.0) {
s = 0.0;
for (i=2; s < n; i++) {
s += 1/(float)i;
}
printf("%d card(s)\n", i-2); /*这里*/
}
return 0;
}
第二个:
#include<stdio.h>
int main()
{
double n,s;
int i;
while(scanf("%lf",&n)&&n!=0.0)
{
s=0.0;
for(i=2; ;i++)
{
s=s+1/(double)i;
if(s>=n)
break;
}
printf("%d card(s)\n",i-1); /*这里*/
}
return 0;
}
http://acm.zju.edu.cn/show_problem.php?pid=1045
有两个程序,我的问题是为什么第一个是i-2,第二个是i-1?
两个程序都通过了..
第一个:#include <stdio.h>
int main()
{
float n,s;
int i;
while(scanf("%f",&n) && n != 0.0) {
s = 0.0;
for (i=2; s < n; i++) {
s += 1/(float)i;
}
printf("%d card(s)\n", i-2); /*这里*/
}
return 0;
}
第二个:
#include<stdio.h>
int main()
{
double n,s;
int i;
while(scanf("%lf",&n)&&n!=0.0)
{
s=0.0;
for(i=2; ;i++)
{
s=s+1/(double)i;
if(s>=n)
break;
}
printf("%d card(s)\n",i-1); /*这里*/
}
return 0;
}