20分= =求救求救

P1035 [NOIP2002 普及组] 级数求和

氟锂锶氪 @ 2018-02-03 16:24:43

#include<iostream>

using namespace std;

int main(){
    int k;//输入的数字
    int fz = 1;//分子
    int fm = 1;//分母
    int n;

    cin>>k;

    for(int i = 2; k * fm >= fz; i++){
        fz = fz * i + fm;
        fm = fm * i;
        n = i;
    }

    cout<<n<<endl;
}

手动验证过后似乎并没有发现什么问题……

输入1输出2……输入2输出4……输入3输出11……


by 斗神·君莫笑 @ 2018-02-03 16:37:33

尝试直接double+循环爆


by 氟锂锶氪 @ 2018-02-03 16:41:41

刚又测试了一下输入4的结果是15……貌似不对(不想手算了╮(╯▽╰)╭)

所以……错误在哪儿……


by 斗神·君莫笑 @ 2018-02-03 16:42:00

include < iostream>

using namespace std;

int main(){

int k,i=0;
cin>>k;
double s=0;
while(s<=1){
    i++;
    s+=1.0/i;
}
cout<<i;
return 0;

}


by 斗神·君莫笑 @ 2018-02-03 16:42:49

我在讨论中打的,WA了别怪我


by 氟锂锶氪 @ 2018-02-03 16:52:00

@zadow_sxz

谢谢!至于我原来那一撮代码……刚发现光是fm变量可以达到的位数都超过int精度了(笑哭)

所以……无视就好


|