问题标题: 酷町堂:4992 求解不等式

0
0
已解决
宣雨楠
宣雨楠
高级守护
高级守护

题目描述 Description

已知不等式:1!+2!+……+m!<=n
对于以上不等式,现在输入n,求出m的最大值

输入描述 Input Description

一个整数n

输出描述 Output Description

一个整数m

样例输入 Sample Input

1

样例输出 Sample Output

1

数据范围及提示 Data Size & Hint

n<=100000000

这是我0分代码:

#include<iostream>
using namespace std;
int main(){
    int m,n;
    cin>>n;
    long long s=1;
    for(int i=1;i<=m;i++){
        s*=i;
    }
    cout<<s;
    return 0;
}


0
已采纳
暗魄
暗魄
高级守护
高级守护

首先,我要提几个意见:

1、你这个代码求的是什么?m有没有赋初值或被输入?那怎么算m?

2、你的代码所求的是m的阶乘,不提m没有赋值,甚至与题目中的阶乘也完全不符

 

正解:已知一条公理:若n!,则1!+2!+……+(n-1)!<n

所以用s先赋初值为2,然后再用s乘1乘2乘……直到s>n为止,再判断s刚刚乘的数与s上一个乘的数哪个符合题意,最后输出其中符合题意的数

0
我要回答