1058: 求解不等式

题目描述

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

输入

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

输出

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

样例输入

2000000000

样例输出

m<=12

提示

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

来源

*** 

#include<stdio.h> 
 
int main() 

    int i, n; 
    double sum, fact; //若定义为int,会造成计算过程中类型溢出 
 
    scanf("%d", &n); 
    fact = 1; 
    sum = 0; 
 
    for(i = 1; ; i++) 
    { 
        fact *= i; 
        sum += fact; 
 
        if(sum >= n) 
        { 
             printf("m<=%d\n", i-1); 
             break; 
        } 
 
    } 
 
    return 0; 

猜你喜欢

转载自www.cnblogs.com/binanry/p/9217285.html