关于浮点型数据里面小数点的问题老记不住

P1035 [NOIP2002 普及组] 级数求和

Fwdx_Su @ 2024-05-04 14:13:43

想问问这题目里面为什么用了1.0就可以,而后面的n求出来难道不是会是一个不精确的小数嘛?

#include <iostream>
using namespace std ;
int main()
{
    int k , n = 1 ;
    // int sum = 0 ;//sum要设置成double!
    double sum = 0 ;
    cin >> k ;
    for(int i=0 ;i<n ; i++)
    {
        sum = sum + 1.0/n ;//1.0的用处?
        if(sum>k)
        {
            break ;
        }
        n++ ;
    }
    cout << n ;
}

by LiXiang190208 @ 2024-05-17 20:56:51

因为2/1是浮点型,/在小数面前为数学除(留小数),其他时候为整除


by LiXiang190208 @ 2024-05-17 20:59:51

求关注!!


|