主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
lljpwrs
2022年3月5日 16:42
遍历寻找即可
P1278
回复 0
|
赞 0
|
浏览 4.5k
预处理找到阶乘,然后遍历即可 #include <iostream> #include <cstdio> using namespace std; const int N = 25; int arr[N]; int main(){ arr[0] = 1; for(int i = 1; i < N; i++) arr[i] = arr[i - 1] * i; int n; while(scanf("%d", &n) != EOF){ int sum...
想想y总会怎么做
2022年2月24日 14:27
数据范围较小,打表
P1278
回复 0
|
赞 0
|
浏览 4.4k
方法一:打表,能减就减 数据范围n≤1,000,000,小于10! 因此考虑打表。 思路: 在fact[0~9]依次存入阶乘值,从大到小与n比较,小于n则从n中减去该值。当n==0时可提前跳出循环 最后判断条件:若跳出循环时i=-1&&n!=0(若没有n!=0则过不了4的样例),则输出NO 否则输出YES #include <iostream> #include <cstdio> using namespace std; int fact[10]; int n; void Getfac...
机试帐号
2020年3月10日 17:23
阶乘处理&&循环求和
P1278
回复 0
|
赞 2
|
浏览 10.0k
这个题是入门题,我认为有两个关键点:一是看到阶乘,我第一反应就是打表,因为阶乘的运算耗时太久,一看n的取值1000000,就觉得可行,我看有些朋友用的自定义阶乘函数打表,我觉得不如直接手动算出阶乘,输入数组。第二不是很重要,这里要求找是否能够通过求值得到,作差是一个常见的方法,在涉及数组求和的题中,作差其实很常见。 这里他这个英文题干,实际上没有太清楚,没有提到x是否可以重复,如果可以的话,这里的for循环就需要多重循环。还有要注意就是0的阶乘是1. #include<iostream> using namespace std; void fac(int ...
题目
Sum of Factorials
题解数量
3
发布题解
热门题解
1
阶乘处理&&循环求和
2
遍历寻找即可
3
数据范围较小,打表