通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
关于在调用模板函数时模板实参的使用,下列表述正确的是
对于通过公有继承定义的派生类,若其成员函数可以直接访问
有如下类定义,横线处应填写的表达式是。
输入张三学习的课程名称及成绩等信息,信息间采用空格分隔
主机甲通过选择重传(SR)滑动窗口协议向主机乙发送帧的
有以下程序:程序运行后的输出结果是( )。
有以下程序程序运行后的输出结果是。
设变量均已正确定义,若要通过语句为变量a1和a2赋数值
表达式3|5的值为_______。
表达式{1,2,3} | {2,3,4}的值为____
下面程序运行结果是___________。
C语言中根据数据的组织形式,把文件分为文本文件盒___
以下程序的功能是
以下C程序的运行结果是。(注□表示空格)
若下达rmdir命令来删除某个已存在的目录,但无法成功
在其父目录不存在时先创建父目录的命令。答:mkdir
用树型结构表示实体类型及实体间联系的数据模型称为
组合多条SQL查询语句形成组合查询的操作符是
在下面的排序方法中,辅助空间为O(n)的是( ) 。
查找表结构用以下哪一项( )
已知关系:student(sno,sname,grad
下列关于系统调用的叙述中,正确的是。I.在执行系统
假定一台计算机采用 3 通道存储器总线,配套的内存条型
(10分)在进行外部排序时,可使用置换-选择排序生成初
每个顶点度数均为 2 的无向图称为“2 正规图”。由编
预处理命令行都必须以_____号开始。
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,
设有以下结构类型说明和变量定义,则变量a在内存所占字节
输出:( )
(数字删除)下面程序的功能是将字符串中的数字字符删除后
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2