2023年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第1题)
2023年信奥赛C++提高组csp-s初赛真题及答案解析(阅读程序第1题)

第1题
#include
using namespace std;
unsigned short f(unsigned short x) {
x ^= x << 6;
x ^= x >> 8;
return x;
}
int main() {
unsigned short x;
cin >> x;
unsigned short y = f(x);
cout << y << endl;
return 0;
}
假设输入的 x 是不超过 65535的自然数,完成下面的判断题和单选题:
判断题
-
当输入非零时,输出一定不为零。()
A. 正确 B. 错误
-
(2 分)将
f函数的输入参数的类型改为unsigned int,程序的输出不变。()A. 正确 B. 错误
-
当输入为
65535时,输出为63。()A. 正确 B. 错误
-
当输入为
1时,输出为64。()A. 正确 B. 错误
单选题
-
当输入为
512时,输出为()。A.
33280B.33410C.33106D.33346 -
当输入为
64时,执行完第 5行后x的值为()。A.
8256B.4130C.4128D.4160
判断题答案
-
A(正确)
解析:函数 ( f ) 是一个在 GF(2) 上的可逆线性变换,因此当输入非零时,输出一定不为零。 -
B(错误)
解析:将参数类型改为unsigned int后,计算过程中高位会参与运算,且右移时会引入高位比特,导致结果可能与原 16 位版本不同。例如输入 32768 时,原程序输出 32896,而修改后输出 41088。 -
A(正确)
解析:输入 65535(二进制全为 1),经计算输出为 63。 -
B(错误)
解析:输入 1 时,输出为 65,而不是 64。
单选题答案
-
B(33410)
解析:输入 512,逐步计算:- 第一步:( x oplus (x ll 6) = 512 oplus 32768 = 33280 )
- 第二步:( 33280 oplus (33280 gg 8) = 33280 oplus 130 = 33410 )
-
D(4160)
解析:输入 64,执行 ( x oplus= x ll 6 ) 后,( x = 64 oplus 4096 = 4160 )。
专栏推荐:信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新)
https://blog.csdn.net/weixin_66461496/category_13125089.html
各种学习资料,助力大家一站式学习和提升!!!
#include
using namespace std;
int main(){
cout<<"########## 一站式掌握信奥赛知识! ##########";
cout<<"############# 冲刺信奥赛拿奖! #############";
cout<<"###### 课程购买后永久学习,不受限制! ######";
return 0;
}
1、csp信奥赛高频考点知识详解及案例实践:
CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转
CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转
信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html
2、csp信奥赛冲刺一等奖有效刷题题解:
CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转
CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转
3、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转

GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html
4、CSP信奥赛C++竞赛拿奖视频课:
https://edu.csdn.net/course/detail/40437 点击跳转

· 文末祝福 ·
#include
using namespace std;
int main(){
cout<<"跟着王老师一起学习信奥赛C++";
cout<<" 成就更好的自己! ";
cout<<" csp信奥赛一等奖属于你! ";
return 0;
}









