通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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; }
②处应填( )
!Vis[n]
r<n
F[M]==INT_MAX
F[n]==INT_MAX
所属试卷:CSP-S1提高级初赛试卷[2021]
下列关于派生类的叙述中,错误的是
存在定义int a[10],x,*pa;,若pa=&a
Java语言中属于跳转语句的是( )。
用于设置组件大小的方法是( )。
在某个 10 BaseT 以太网的冲突域内,若主机甲向
关于 Python 程序的格式框架的描述,以下选项中错
如题 35 图所示的支持VLAN 划分的交换机,已按端
请编写函数fun,其功能是:计算并输出3到n之间(含3
有如下程序程序运行后的输出结果是( )。
计算机高级语言程序的运行方法有编译执行和解释执行两种,
以下叙述中正确的是。
请在下面程序的横线处填上适当字句,以使程序完整,并使程
拟建设一个光通信骨干网络连通BJ、CS、XA、QD、J
设有两个C语言程序模块c1.c和c2.c(不含main
网络管理的重要任务是:_____和________。
MYSQL查询语句中用inner join表示内连接,
参照完整性要求外码的值必须取 ,或等于被参照关系
数据库物理设计的主要内容是( )。
在循环链表L中,已知指针p指向某一结点,可以找到p的前
本地网络上的主机通过下列所述的那种方式查找其它的网络设
(13 分)已知非空二叉树 T 的结点值均为正整数,采
以下不是无限循环的语句为( )。
下列语句输出的结果是_____。
执行下面两个语句,输出的结果是_____。
有以下程序程序运行后的输出结果是
给定程序中已建立一个带有头结点的单向链表,在main函
(交朋友)根据社会学研究表明,人们都喜欢找和自己身高相
(中位数)给定 n(n 为奇数且小于1000)个整数,
输入: 7输出:______
输入: 16输出: ______________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2