aaaa___ @ 2018-07-25 19:26:33
using namespace std; int main() { int n=0,t=0,k; double Sn; scanf("%d",k); while(Sn<=k) {
++n;
t=1/n;
Sn+=t;
} printf("%d",n); return 0; }
by aaaa___ @ 2018-07-29 22:19:23
@Alpha 还有就是我把循环里的t=1.0/n改成t=1/n就超时了 请问是为什么?
by Smile_Cindy @ 2018-07-30 09:26:45
@列王纷争 第一个问题: 区别在: scanf("%d",k); scanf("%d",&k); 变量前面要加取地址符 第二个问题: 1/n是整除,当n>1时结果是0,会陷入死循环 1.0/n是实数除法,结果不会是0;