2 条题解

  • 0
    @ 2025-12-23 20:43:25
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n;
        cin>>n;
        int a=(n%10+5)%10;
        int b=(n/10%10+5)%10;
        int c=(n/100%10+5)%10;
        int d=(n/1000+5)%10;
        cout<<a<<b<<c<<d;
        return 0;
    }
    
    • 0
      @ 2025-10-24 18:12:27

      题目:四位数加密算法

      思路分析

      1. 任务拆解:

        • 输入一个4位数
        • 分离出个位、十位、百位、千位数字
        • 对每位数字进行加密:(数字+5) % 10
        • 将加密后的数字顺序颠倒
        • 输出加密后的数字
      2. 关键点分析:

        • 加密公式:(每位数字 + 5) % 10
        • 颠倒顺序:原个位变新千位,原十位变新百位,原百位变新十位,原千位变新个位
        • 使用取模和整数除法分离各位数字
      3. 步骤规划:

        • 输入4位数n
        • 分离出个位、十位、百位、千位
        • 对每位数字应用加密公式
        • 按颠倒顺序重新组合数字
        • 输出加密结果
      4. 代码对应:

        • int n,g,s,b,q,x; - 定义原数和各位数字变量
        • cin>>n; - 输入4位数
        • g=n%10; - 计算个位
        • s=n/10%10; - 计算十位
        • b=n/100%10; - 计算百位
        • q=n/1000%10; - 计算千位
        • g=(g+5)%10; - 加密个位
        • s=(s+5)%10; - 加密十位
        • b=(b+5)%10; - 加密百位
        • q=(q+5)%10; - 加密千位
        • x=g*1000+s*100+b*10+q; - 颠倒顺序组合新数
        • cout<<x; - 输出加密结果
      • 1

      信息

      ID
      110
      时间
      1000ms
      内存
      16MiB
      难度
      3
      标签
      (无)
      递交数
      590
      已通过
      335
      上传者