2025年全国青少年信息素养大赛复赛C++算法创意实践挑战赛真题模拟强化训练(3)
四位数密码
【题目描述】
情报员使用4位数字来传递信息,同时为了防止信息泄露,需要将数字进行加密。数据加密的规则是:
- 每个数字都进行如下处理:该数字加上5之后除以10的余数,替换原数字;
- 将处理后第一位数字与第三位数字进行交换,第二位数字与第四位数字进行交换;
- 现在任意输入一个四位数n(1000 <= n <= 9999),输出加密之后的数字。
【输入描述】
一个四位数
【输出描述】
加密后的四位数
【输入样例】
1234
【输出样例】
8967
AC代码
#include<bits/stdc++.h>
using namespace std;
int n; int main(){ cin >> n; // 输入四位数n// 分解各位数字并进行加密处理int g = (n % 10 + 5) % 10; // 处理个位(原数的第四位)n /= 10; // 移除已处理的个位int s = (n % 10 + 5) % 10; // 处理十位(原数的第三位)n /= 10; int b = (n % 10 + 5) % 10; // 处理百位(原数的第二位)n /= 10;int q = (n % 10 + 5) % 10; // 处理千位(原数的第一位)// 交换第一位和第三位(q和s交换)swap(q, s);// 交换第二位和第四位(b和g交换)swap(b, g);// 输出加密后的结果,顺序为q b s g(交换后的新四位)cout << q << b << s << g;return 0;
}
功能分析
-
输入处理
- 程序读取一个四位数n,如1234。
-
逐位处理:
- 分解n的各位(个、十、百、千位),每个数字加上5后对10取余,得到加密后的各位值。
- 例如,个位4 → (4+5)%10=9,存储到变量g。
-
位置交换:
- 将处理后的第一位(原千位)与第三位(原十位)交换,第二位(原百位)与第四位(原个位)交换。
- 例如,交换后四位顺序变为:原十位、原个位、原千位、原百位。
-
输出结果
- 按交换后的顺序输出四位数字,得到加密后的数,如输入1234输出8967。
注释说明
- 变量
g
、s
、b
、q
分别对应原数的个位、十位、百位、千位处理后的值。 swap
函数实现位置交换,确保加密规则的正确应用。- 最终输出顺序为交换后的新四位。
王老师青少年编程CSDN为大家提供一站式、完整csp信奥赛学习规划
各种学习资料整合如下,以方便大家系统学习和提升
- 视频课程:
- C++语法基础
- C++语法进阶
- C++算法
- C++数据结构
- 信奥赛数学
- 信奥赛stl
- 刷题题解:
- GESP C++考级真题题解
- 信奥赛C++语法基础刷题
- 信奥赛C++模拟算法刷题
- 信奥赛数学思维专题刷题
- 信奥赛C++算法进阶刷题
- 信奥赛dfs和bfs专题刷题
- csp信奥赛复赛真题题解
详细内容:
1、csp/信奥赛C++,完整信奥赛系列课程:
https://edu.csdn.net/lecturer/7901
2、GESP C++考级真题题解:
GESP(C++ 一级+二级+三级)真题题解:https://blog.csdn.net/weixin_66461496/category_12858102.html
GESP(C++ 四级+五级+六级)真题题解:https://blog.csdn.net/weixin_66461496/category_12869848.html
3、csp信奥赛冲刺一等奖有效刷题题解:
csp/信奥赛C++语法基础刷题:https://blog.csdn.net/weixin_66461496/category_12830179.html
csp/信奥赛C++模拟算法刷题:https://blog.csdn.net/weixin_66461496/category_12910813.html
csp/信奥赛C++数学思维刷题:https://blog.csdn.net/weixin_66461496/category_12934781.html
CSP/信奥赛C++算法进阶刷题:https://blog.csdn.net/weixin_66461496/category_12673810.html
信奥赛CSP-J复赛集训(dfs和bfs专题-刷题训练):https://blog.csdn.net/weixin_66461496/category_12846793.html
CSP-J复赛集训200-300分必刷真题题单及拿分技巧:https://blog.csdn.net/weixin_66461496/category_12808781.html