文章目录
每日一练
12.1
- 欧拉函数 φ ( 97 ) \varphi(97) φ(97) 的值为( )。
A. 23
B. 33
C. 38
D. 96
【答案】D
【解析】欧拉函数 φ ( n ) \varphi(n) φ(n) 的值是所有小于或等于 n n n 的正整数中与 n n n 互素的数的个数。特别地,当 n n n 为素数时, φ ( n ) = n − 1 \varphi(n) = n-1 φ(n)=n−1,因为 97 97 97 是素数,所以 φ ( 97 ) = 96 \varphi(97) = 96 φ(97)=96 。
12.2
- 能被 3 3 3 整除,且能够整除 1200 1200 1200 的正整数共有( )个。
A. 5
B. 15
C. 25
D. 35
【答案】B
【解析】 1200 3 = 400 = 2 4 × 5 2 \frac{1200}{3} = 400 = 2^4 \times 5^2 31200=400=24×52,任何满足条件的正整数必然可以表示成 3 × 2 x × 5 y 3 \times 2^x \times 5^y 3×2x×5y(其中 0 ≤ x ≤ 4 , 0 ≤ y ≤ 2 0 \le x \le 4, 0 \le y \le 2 0≤x≤4,0≤y≤2), 其中 x x x 共有 5 5 5 种可能, y y y 共有 3 3 3 种可能,根据乘法原理,共有 5 × 3 = 15 5 \times 3 = 15 5×3=15 个满足条件的正整数。
12.3
- 整数 984 984 984 的最大奇因数为( )。
A. 37 37 37
B. 65 65 65
C. 123 123 123
D. 247 247 247
【答案】C
【解析】 984 = 2 3 × 123 984 = 2^3 \times 123 984=23×123,所以 984 984 984 的最大奇因数为 123 123 123 。
12.4
- java8中,下面哪个类用到了解决哈希冲突的开放定址法
A. LinkedHashSet
B. HashMap
C. ThreadLocal
D. TreeMap
【答案】C
12.5
- 下面有关java object默认的基本方法,说法错误的是?
A. equals(Object obj) 指示某个其他对象是否与此对象“相等”
B. copy() 创建并返回此对象的一个副本
C. wait() 导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法
D. toString() 返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成
【答案】B
12.6
-
考虑以下求和函数
F ( n ) = ∑ d ∣ n f ( d ) F(n) = \sum\limits_{d|n} f(d) F(n)=d∣n∑f(d)
若对于任意 i ∈ Z i \in \Z i∈Z 都有 f ( i ) = i f(i)=i f(i)=i,则 F ( 12 ) F(12) F(12) 的值为( )。
A. 12
B. 24
C. 14
D. 28
【答案】D
【解析】 F ( 12 ) = f ( 1 ) + f ( 2 ) + f ( 3 ) + f ( 4 ) + f ( 6 ) + f ( 12 ) = 28 F(12) = f(1) + f(2) + f(3) + f(4) + f(6) + f(12) = 28 F(12)=f(1)+f(2)+f(3)+f(4)+f(6)+f(12)=28。
12.7
-
考虑以下求和函数
F ( n ) = ∑ d ∣ n f ( d ) F(n) = \sum\limits_{d|n} f(d) F(n)=d∣n∑f(d)
若对于任意 i ∈ Z i \in \Z i∈Z 都有 f ( i ) = i 2 f(i)=i^2 f(i)=i2,则 F ( 21 ) F(21) F(21) 的值为( )。
A. 100
B. 250
C. 500
D. 1000
【答案】C
【解析】 F ( 21 ) = f ( 1 ) + f ( 3 ) + f ( 7 ) + f ( 21 ) = 1 2 + 3 2 + 7 2 + 2 1 2 = 500 F(21) = f(1) + f(3) + f(7) + f(21) = 1^2 + 3^2 + 7^2 + 21^2 = 500 F(21)=f(1)+f(3)+f(7)+f(21)=12+32+72+212=500。
12.8
- 下列关于莫比乌斯反演的性质描述正确的有
- I. f ( n ) = ∑ d ∣ n μ ( d ) F ( n d ) f(n) = \sum\limits_{d|n}\mu(d)F\left({ \frac{n}{d} }\right) f(n)=d∣n∑μ(d)F(dn)
- II. μ ( n ) \mu(n) μ(n) 是积性函数
- III. 设 f f f 是算术函数,它的和函数 F ( n ) = ∑ d ∣ n f ( d ) F(n) = \sum\limits_{d|n}f(d) F(n)=d∣n∑f(d) 是积性函数,那么 f f f 也是积性函数
A. 只有I
B. I和II
C. II和III
D. I、II和III
【答案】D
12.9
- 下列关于欧拉函数
φ
(
n
)
\varphi(n)
φ(n) 相关性质的描述正确的有()。
- I. φ ( n ) \varphi(n) φ(n) 是小于 n n n 的正整数中与 n n n 互质的数的数量
- II. $\sum\limits_{d|n}\varphi(d) = \sum\limits_{d|n}\varphi(\left({ \frac{m}{d} }\right) $
- III. 设 ( a , m ) = 1 (a, m) = 1 (a,m)=1,则 a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)} ≡ 1(mod\ m) aφ(m)≡1(mod m)
A. 只有I
B. I和II
C. II和III
D. I、II和III
【答案】D
【解析】选项I是欧拉函数的定义,正确。因为欧拉函数是积性函数,所以明显选项II也正确。选项III是欧拉定理,正确。
12.10
- 考虑一下求和函数 F ( n ) = ∑ d ∣ n f ( d ) F(n) = \sum\limits_{d|n}f(d) F(n)=d∣n∑f(d),若对于任意 i ∈ Z i\in\Z i∈Z 都有 f ( i ) = i 2 + 3 f(i) = i ^2 + 3 f(i)=i2+3,则下列哪个选项中值最大。
A. F(8)
B. F(10)
C. F(16)
D. F(17)
【答案】C
【解析】F(8) = 97, F(10) = 142, F(16) = 356, F(17) = 296。
12.11
- 下面有关JSP内置对象的描述,说法错误的是?
A. session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止
B. request对象:客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应
C. application对象:多个application对象实现了用户间数据的共享,可存放全局变量
D. response对象:response对象包含了响应客户请求的有关信息
【答案】C
12.12
- 下面有关jdbc statement的说法错误的是?
A. JDBC提供了Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程
B. 对于PreparedStatement来说,数据库可以使用已经编译过及定义好的执行计划,由于 PreparedStatement 对象已预编译过,所以其执行速度要快于 Statement 对象
C. PreparedStatement中,“?” 叫做占位符,一个占位符可以有一个或者多个值
D. PreparedStatement可以阻止常见的SQL注入式攻击
【答案】C
12.13
-
下列关于RSA算法的叙述中,正确的是()。
I. RSA算法是一种对称加密算法
II. RSA算法是一种非对称加密算法
III. RSA算法是一种公钥加密算法
IV. RSA算法是一种私钥加密算法
A. I和III
B. I和IV
C. II和III
D. II和IV
【答案】C
【解析】RSA算法是一种非对称加密算法,是一种常用的公钥加密算法。
12.14
- RSA使用不方便的最大问题是( )。
A. 产生秘钥需要强大的计算能力
B. 算法中需要大数
C. 算法中需要素数
D. 被攻击过很多次
【答案】A
【解析】由于进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。RSA的速度比对应同样安全级别的对称密码算法要慢1000倍左右。
12.15
- 已知RSA算法中,素数p=5,q=7,模数n=35,公开密钥e=5,密文c=10,求明文m=( )。
A. 5
B. 7
C. 11
D. 17
【答案】A
【解析】 φ ( n ) = ( 5 − 1 ) ∗ ( 7 − 1 ) = 24 φ(n)=(5-1)*(7-1)=24 φ(n)=(5−1)∗(7−1)=24, e ∗ d m o d φ ( n ) = 1 e*d\ mod\ φ(n)=1 e∗d mod φ(n)=1, 5 ∗ d m o d 24 = 1 5*d\ mod\ 24=1 5∗d mod 24=1, d = 5 d=5 d=5,明文 m = c d m o d 35 = 1 0 5 m o d 35 = 5 m=c^d\ mod\ 35=10^5\ mod\ 35=5 m=cd mod 35=105 mod 35=5。
12.16
- RSA算法中,素数p=7,q=11,加密密钥e=7,则解密密钥d=( )。
A. 22
B. 31
C. 35
D. 43
【答案】D
【解析】 n = 7 ∗ 11 = 77 n=7*11=77 n=7∗11=77、 φ ( n ) = ( 7 − 1 ) ∗ ( 11 − 1 ) = 60 φ(n)=(7-1)*(11-1)=60 φ(n)=(7−1)∗(11−1)=60,根据 e ∗ d ≡ m o d φ ( n ) e*d≡\ mod\ φ(n) e∗d≡ mod φ(n),又 7 ∗ d m o d 60 = 1 7*d\ mod\ 60=1 7∗d mod 60=1,所以 d = 43 d=43 d=43。
12.17
- 用RSA算法加密时,已经公钥是(e=7,n=20),私钥是(e=3,n=20),用公钥对消息M=3加密,得到的密文是( )。
A. 3
B. 7
C. 11
D. 13
【答案】B
【解析】根据 C = m e m o d n = 3 7 m o d 20 = 7 C=m^e\ mod\ n=3^7\ mod\ 20=7 C=me mod n=37 mod 20=7,得到密文 C = 7 C=7 C=7。
12.18
- 关于ThreadLocal类以下说法正确的是
A. ThreadLocal继承自Thread
B. ThreadLocal实现了Runnable接口
C. ThreadLocal重要作用在于多线程间的数据共享
D. ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本
【答案】D
12.19
- 在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=11时,你可以采用多少种不同的方式爬完这个楼梯()
A. 11
B. 144
C. 55
D. 89
【答案】B
12.20
- 数列 1,3,2,5,4,7 对应的前缀和数组为( )。
A. 1,4,6,12,13,19
B. 1,4,6,11,15,22
C. 1,5,7,13,15,22
D. 1,5,8,16,18,22
【答案】B
【解析】数列 1,3,2,5,4,7 对应的前缀和数组为 1,4,6,11,15,22 。
12.21
- 字符串 aabaaab 的前缀函数为( )。
A. 0,1,0,1,0,1,2
B. 0,1,0,1,2,2,3
C. 0,1,2,0,1,2,3
D. 0,1,2,0,2,2,3
【答案】B
【解析】给定一个长度为 n 的字符串 ,其前缀函数被定义为一个长度为n的数组 π ,其中 πi 表示子串 s0…i 最长的相等的真前缀与真后缀的长度,本题选B。
12.22
- 欧拉函数 φ ( 23 ) \varphi(23) φ(23) 的值为( )。
A. 1
B. 9
C. 16
D. 22
【答案】D
【解析】欧拉函数 φ ( n ) \varphi(n) φ(n) 的值是所有小于或等于 n n n 的正整数中与 n n n 互素的数的个数。特别地,当 n n n 为素数时, φ ( n ) = n − 1 \varphi(n) = n-1 φ(n)=n−1,因为 23 23 23 是素数,所以 φ ( 23 ) = 22 \varphi(23) = 22 φ(23)=22 。
12.23
- 设树状数组维护的区间为[1,100],则对区间第8个元素进行+15操作会对树状数组中的( )个元素进行修改。
A. 3
B. 4
C. 5
D. 6
【答案】B
【解析】会对树状数组中第 8, 16, 32, 64 个位置的元素进行+15操作。
12.24
-
下列关于公钥密码学相关算法的叙述中正确的是( )。
I. RSA算法的安全性基于大整数分解
II. DSA算法的安全性基于整数有限域离散对数难题
III. RSA即可作为数字签名,也可以作为加密算法。
IV. DSA即可作为数字签名,也可以作为加密算法
A. 仅I
B. I、II
C. I、II、III
D. I、II、III、IV
【答案】C
【解析】RSA算法的安全性基于大整数分解;DSA算法的安全性基于离散对数难题。RSA即可作为数字签名,也可以作为加密算法;DSA只能用于数字签名,而无法用于加密(某些扩展可以支持加密)。
12.25
- ServletConfig接口默认是哪里实现的?
A. Servlet
B. GenericServlet
C. HttpServlet
D. 用户自定义servlet
【答案】B
12.26
- 下列说法正确的是()
A. WebLogic中开发消息Bean的non-persistent 方式可以保证消息的可靠
B. EJB容器发生错误,non-persistent方式下JMS容器仍然会将消息发送
C. EJB容器发生错误,persistent方式下JMS容器仍然会将消息发送
D. EJB容器发生错误,两种方式下JMS容器仍会在MDB可用的时候将消息发送
【答案】C
12.27
- 欧拉函数 φ(22) 的值为( )。
A. 1
B. 5
C. 10
D. 15
【答案】C
【解析】欧拉函数 φ(n) 的值是所有小于或等于 n 的正整数中与 n 互素的数的个数。所有小于等于22的数中与22互素的数共有10个,它们分别为 1,3,5,7,9,13,15,17,19,21,所以 φ(22) = 10。
12.28
- 前缀和数列 3,2,4,8,13,21 对应的原数列为( )。
A. 2,7,3,-2,1,4
B. 2,3,2,1,3,2
C. 3,-1,2,4,5,8
D. 3,1,2,4,7,5
【答案】C
【解析】数列 3,-1,2,4,5,8 对应的前缀和数组恰为 3,2,4,8,13,21,所以本题选C。
12.29
- 整数 3728 的最大奇因数为( )。
A. 123
B. 233
C. 335
D. 413
【答案】B
【解析】因为 3728 = 24 x 233,所以 3728 的最大奇因数为 233 。
12.30
- 往一棵初始为空的trie树中依次插入 “hello”, “hi”, “haha”, “kaikeba” 后树中节点个数为( )。
A. 11
B. 15
C. 17
D. 20
【答案】C
【解析】最终的trie树结构如下,共17个节点。
12.31
- 定义一个数的数位和为该数的十进制表示中各位上数字之和。比如:123的数位和为1+2+3=6,365的数位和为3+6+5=14。1到3998这3998个整数中有( )个数的数位和是4的倍数。
A. 198
B. 498
C. 499
D. 999
【答案】D
【解析】可以发现,对于1~3000范围内的任意一个整数a,a+1000的数位和比a的数位和多1。所以可得:
- [1,1000]范围内的数位和模4为0的数的个数 = [1001,2000]范围内数位和模4为1的数的个数 = [2001,3000]范围内数位和模4为2的数的个数 = [3001,4000]范围内数位和模4为3的数的个数
- [1,1000]范围内的数位和模4为1的数的个数 = [1001,2000]范围内数位和模4为2的数的个数 = [2001,3000]范围内数位和模4为3的数的个数 = [3001,4000]范围内数位和模4为0的数的个数
- [1,1000]范围内的数位和模4为2的数的个数 = [1001,2000]范围内数位和模4为3的数的个数 = [2001,3000]范围内数位和模4为0的数的个数 = [3001,4000]范围内数位和模4为1的数的个数