通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2023] 中有题目如下:
第1题
2023年CSP-S1阅读程序题2:
#include <iostream> #include <cmath> #include <vector> #include <algorithm> using namespace std; long long solve1(int n){ vector<bool> p(n+1, true); vector<long long> f(n+1,0),g(n+1,0); f[1]= 1; for (int i = 2; i*i <= n; i++){ if (p[i]){ vector<int> d; for(int k = i;k <=n; k *= i)d.push_back(k); reverse(d.begin(),d.end()); for (int k:d){for (int j =k; j<=n;j += k){ if (p[j]){ p[j]= false; f[j]= i; g[j]= k; } } } } } for (int i = sqrt(n)+ 1; i <= n; i++){ if (p[i]){ f[i]= i; g[i]= i; } } long long sum = 1; for(int i = 2; i <= n; i++){ f[i]= f[i / g[i]]*(g[i]* f[i]- 1)/(f[i]- 1); sum += f[i]; } return sum; } long long solve2(int n){ long long sum = 0; for(int i= 1; i <= n; i++){ sum += i*(n / i); } return sum; } int main(){ int n; cin >> n; cout << solve1(n)<< endl; cout << solve2(n)<< endl; return 0; }
假设输入的n是不超过1000000的自然数,完成下面的判断题和单选题:
solve(2)的时间复杂度为()。
O(n²)
O(n)
O(n log n)
O(√n)
所属试卷:CSP-S1提高级初赛试卷[2023]
若有如下类声明,执行语句MyClass a,b[2],
将关键字序列 20, 3, 11, 18, 9, 14
给定一个 Python 源程序文件 test.py,图
以下关于文件的描述中,正确的是( )。
在下列关系运算中,不改变关系表中的属性个数但能减少元组
以下程序:程序运行后的输出结果是( )。
有以下程序:程序运行后的输出结果是。
表达式list(filter(lambda x:x>5
从键盘输入一个字符串a,并在a串中的最大元素后边插入字
已有如下定义和输入语句,若要求a1,a2,a3,c1,
下面程序的功能是将小写字母变成对应的大写字母后的第二个
以下C程序运行结果是( )。(注:□表示空格)
当输入为“1 511998”时,输出为“18”。
属于同一进程的两个线程thread1和thread2并
Linux系统中用于打印队列查询的命令是( )。
输入了Shell命令的部分字符后按什么键可补全其余部分
什么是位置变量?shell的变量类型有哪些种?答:位置
设计一个shell程序,添加一个新组为class1,然
Linux在命令后面加上什么符号,会将命令放在后台运行
用SELECT进行模糊查询时,可以使用 或 等
强连通图的性质不包括( )。
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,
则x的值为_____。
设ch是char型变量,其值为A,则表达式ch=(ch
则表达式x+(y>!z)的值为_____。
假设输入的 n,k 和 d[i] 都是不超过 1000
输入:NOI2016 will be held in
一棵结点数为2015 的二叉树最多有( )个叶子结点。
定义字符串的基本操作为:删除一个字符、插入一个字符和将
每份考卷都有一个 8位二进制序列号。当且仅当一个序列号
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2