ccyhhy @ 2022-09-14 13:25:28
#include<iostream>
using namespace std;
int main()
{
int k;
cin >> k;
double j = 0;
for(double S=0;S<=k;S+=1/j)
{
j=j++;
}
int n = j;
cout << n ;
return 0;
}
怎么过不了呀
by 251Sec @ 2022-09-14 13:32:26
j=j++;
by __Corrupt_X__ @ 2022-09-14 13:56:53
@251Sec 对,这里直接++j不就行了?
by ccyhhy @ 2022-09-14 13:58:18
为什么不行?
by ccyhhy @ 2022-09-14 13:59:21
在for循环语句中都可以有n++
by 251Sec @ 2022-09-14 14:01:06
@ccyhhy j++
代表让 j
的值增加 j++
是对的。但是写 j=j++
就是把 j
增加 j
原来的值赋值给它,相当于没变。
by 251Sec @ 2022-09-14 14:01:36
另外,j++
和 ++j
是不同的,具体可以搜一下。
by Gmzhgmzh @ 2022-10-03 18:11:34
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k,n=0;
scanf("%d",&k);
for(double s=0;s<=k;++n,s+=1.0/n);
printf("%d",n);
return 0;
}