通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2021] 中有题目如下:
第1题
(魔法数字)小H的魔法数字是4。给定n,他希望用若干个4进行若干次加法、减法和整除运算得到n。但由于小H计算能力有限,计算过程中只能出现不超过M=10000的正整数。求至少可能用到多少个4。
例如,当n=2时,有2=(4+4) / 4,用到了3个4,是最优方案。
试补全程序。
#include <iostream> #include <cstdlib> #include <climits> using namespace std; const int M = 10000; bool Vis[M + 1]; int F[M + 1]; void update(int &x, int y) { if (y < x) x = y; } int main() { int n; cin >> n; for (int i = 0; i <= M; i++) F[i] = INT_MAX; ①; int r = 0; while (②) { r++; int x = 0; for (int i = 1; i <= M; i++) if (③) x = i; Vis[x] = 1; for (int i = 1; i <= M; i++) if (④) { int t = F[i] + F[x]; if (i + x <= M) update(F[i + x], t); if (i != x) update(F[abs(i - x)], t); if (i % x == 0) update(F[i / x], t); if (x % i == 0) update(F[x / i], t); } } cout << F[n] << endl; return 0; }
①处应填( )
F[4]=0
F[1]=4
F[1]=2
F[4]=1
所属试卷:CSP-S1提高级初赛试卷[2021]
若某差错编码的编码集为 {1001 1010,0101
给定程序中,函数fun功能是:找出100~999之间
在C语言程序中,下列说法正确的是( )。
给定程序的功能是:从键盘输入若干行文本(每行不超过80
有以下程序程序运行后的输出结果是( )。
有以下程序:程序运行后的输出结果是( )。
编写程序,其功能为打印如下图所示图形。**** ***
已知x={1:2,2:3},那么表达式x.get(2,
字符串"ab\n\\012\\\"的长度是______
下面程序段中。for循环执行的次数是( )。
以下程序的执行结果是__________。
有变量定义char c,*s=NULL;则sizeof
虚拟控制台登陆就是使用文本方式登陆虚拟控制台登陆就是使
要查找文件除了用find命令外还可以用什么命令?
通常rpm软件包会包含( )
创建外键约束时,如果要使在删除父表记录时子表对应记录也
将student表上的sname、sbirth两字段的
使用视图不仅可以查询数据,还可以更新数据,对视图的更新
从逻辑上可以把数据结构分为( )两大类。
以下说法正确的是( )
(第k小路径)给定一张.个点.条边的有向无环图,顶点编
gets函数用来输入一个字符串。
下列结构中为非线性结构的是
下列叙述中正确的是
编译器的主要功能是 ( ).
在 NOI 期间,主办单位为了欢迎来自各国的选手,举行
有 6 个城市,任何两个城市之间都有一条道路连接, 6
输入:20 12输出:_____
输入: 9 19 29 39输出: _________
在下列关于计算机语言的说法中,正确的有( )。
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2