初学者笔记(已知不等式 1+1*2+1*2*3+...+1*2*...m‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。)注意计算过程中的类型溢出问题

初学者笔记(已知不等式 1+1*2+1*2*3+...+1*2*...m‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。)注意计算过程中的类型溢出问题,第1张

初学者笔记(已知不等式 1+1*2+1*2*3+...+1*2*...m‹n,请编程对用户指定的n值计算输出满足该不等式的m的整数解。)注意计算过程中的类型溢出问题

题目描述

已知不等式 1!+2!+3!+...+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。

输入

输入一个整数n,n为int范围内的正整型。

输出

输出m的取值范围,具体格式见输出样例。

样例输入

2000000000

样例输出

m<=12

提示

注意计算过程中的类型溢出问题

代码:

#include
int main ()
{
    long int n,i,d;
    double x,sum;
    x=1.0;
    sum=0.0;
    scanf("%d",&n);
    for(i=1;;i++)
    {
        x*=i;
        sum+=x;
        if(sum>=n)
        {
            d=i-1;
            printf("m<=%d",d);
             break;
        }
    }
    return 0;
}

这是正确的,我把错误的放出来给大家看看

 错误原因:if后面忘加大括号了。。。。。。又是自己被自己气死的一天

注意计算过程中的类型溢出问题,这问题简单,相乘/相乘之后相加,数据类型使用double类型就可

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5710682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存