为什么会这样,大佬求帮
2026-07-03 13:39:05
发布于:浙江
27阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n,c=1;
cin>>n;
for(int i=1;i<=n;i++){
c*=i;
}
if(c%24==0) cout<<"YES";
else cout<<"NO";
return 0;
}
大佬帮我看看为什么我这代码运行之后,输入31输出的是NO

全部评论 2
这都是指数级增加了,
long long都撑不住2026-07-03 来自 上海
1,也就是 的阶乘本身就是 的倍数,更大的数的阶乘还是 的倍数
2026-07-03 来自 上海
2所以只需判断 是否大于 即可
2026-07-03 来自 上海
2
#include <bits/stdc++.h>
using namespace std;
int main(){
long long a,b=1;
cin >> a;
for(int i=1;i<=a;i++)b*=i;
if(b%240||a31)cout<<"YES";
else cout<<"NO";
return 0;
}1周前 来自 北京
0















有帮助,赞一个