YZHM @ 2024-01-20 20:37:00
#include<iostream>
using namespace std;
int main()
{
int k,n;
double a,b;
cin >> k;
int i=1;
for(;;i++){
a = 1.0/i;
b = b+a;
if(b>k){
break;
}
}
cout << i;
}
为什么·把for换成while就全TLE了?
#include<iostream>
using namespace std;
int main()
{
int k,n;
double a,b;
cin >> k;
int i=1;
while(i++){
a = 1.0/i;
b = b+a;
if(b>k){
break;
}
}
cout << i;
}
by pi3_141592653589 @ 2024-06-09 11:38:29
用while会WA,因为for是当前循环执行完后才i++,但是while是在执行当前循环前就i++了。
by pi3_141592653589 @ 2024-06-09 13:11:32
用while的话i初始值应为0,while里的判断语句改为++i.