通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"NOIP真题" 试卷中 NOIP第二十四届全国青少年信息学奥林匹克联赛初赛试题[2018普及组] 中有题目如下:
第1题
(最大公约数之和)下列程序想要求解整数 n 的所有约数两两之间最大公约数的和对10007 求余后的值,试补全程序。
举例来说,4 的所有约数是 1,2,4。1 和 2 的最大公约数为 1;2 和 4 的最大公约数为 2;1 和 4 的最大公约数为 1。于是答案为 1 + 2 + 1 = 4。
要求 getDivisor 函数的复杂度为 O(√n),gcd 函数的复杂度为O(log max(a,b))。
例如:
#include <iostream> using namespace std; const int N = 110000, P = 10007; int n; int a[N], len; int ans; void getDivisor() { len = 0; for (int i = 1; ① <= n; ++i) if (n % i == 0) { a[++len] = i; if ( ② != i) a[++len] = n / i; } } } int gcd(int a, int b) { if (b == 0) { ③ ; } return gcd(b, ④ ); } int main() { cin >> n; getDivisor(); ans = 0; for (int i = 1; i <= len; ++i) { for (int j = i + 1; j <= len; ++j) { ans = ( ⑤ ) % P; } } cout << ans << endl; return 0; }
所属试卷:NOIP第二十四届全国青少年信息学奥林匹克联赛初赛试题[2018普及组]
函数fun功能是:将a、b中的两个两位正整数合并形成一
有以下程序程序的运行结果是( )。
以下程序的功能是:通过调用calc函数,把所求得的两数
以下叙述中错误的是( )。
Python关键字elif表示_______和____
编写程序实现功能:对于给定的一个百分制成绩,改用相应的
请读以下函数假设机器的无符号整数字长为16位,若调用此
若运行一下程序时输入:-2<回车>,则程序的输出结果是
使用缺省的子网掩码,IP地址201.100.200.1
一个C语言程序是由( )。
以下程序的输出结果是( )。
叙述什么是shell? 什么是X window?Red
试编写一个SHELL程序,该程序能接收用户从键盘输入的
下面给出了一个SHELL程序,试对其行后有#(n)形式
如果事务T1获得了数据项A上的X锁,根据相容矩阵,则事
查看数据库中所有的数据表用以下哪一项( )
表达式a*(b+c)-d的后缀表达式是。
数据流图是用于表示软件模型的一种图示方法,在下列可采用
计算机网络:(9分)主机H登录FTP服务器后自服务器上
考虑对 n 个数进行排序,以下最坏时间复杂度低于 O
已知:问语句执行后m=_____,n=_____。
若有以下数组a,数组元素:a[0]~a[9],其值为9
将数组a的首地址赋给指针变量p的语句是_____。
若有以下程序则程序的输出结果是
有下列程序程序的运行结果是
以下选项中,没有编译错误的是
输出:( )
输入: NOIP 3输出: ______
在带尾指针(链表指针 clist 指向尾结点)的非空循
输出: _______________________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2