通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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[i]==r
!Vis[i]&&F[i]==r
F[i]<F[x]
!Vis[i]&&F[i]<F[x]
所属试卷:CSP-S1提高级初赛试卷[2021]
在一个派生类对象结束其生命周期时。
关于分支结构的描述,以下选项中错误的是( )。
编写代码,获得用户输入的一个数字(1~12),输出对应
以下数组定义中错误的是( )。
如果定义float a[10],x;则以下叙述中正确的
有如下程序:程序运行后的输出结果是( )。
请在下面程序的横线处填上适当内容,以使程序完整,并使程
表达式{1,2,3}&{3,4,5}的值为______
表达式 list(filter(None,[0,1,2
Python关键字elif表示__________和_
设有以下定义:以下程序段将通过调用宏实现变量x和y内容
在OSI参考模型中的网络分层,通信子网与资源子网的分界
若x=4,y=5,则x&y的结果是( )。
简述Linux文件系统通过i节点把文件的逻辑结构和物理
在 Linux 中,如何关闭邮件提示?
select 'Abc'='abc';的结果为
完整性规则能够保证实体的唯一性和可区分性。
在INSERT触发器中,可以引用一个名为 ______
视图是从 _____ 或其它视图导出的虚表。
(7 分)下表给出了整型信号量 S 的 wait和
(8 分)假设计算机 M 的主存地址为 24 位,按字
下列选项中,属于指令集体系结构(ISA)规定的内容是
数组的首地址一定是第一个数组元素的地址。
do-while循环由do开始,while结束,在wh
设有如下函数定义:若执行调用语句:n=fun(3);,
以a为起点,对右边的无向图进行深度优先遍历,则b、c、
编写一个函数proc,从传入的M个字符中找出最长的一个
下面关于位运算符的叙述,正确的是
深度为7的完全二叉树中共有125个结点,则该完全二叉树
(字符串替换) 给定一个字符串 S(S 仅包含大小写字
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2