2 条题解

  • 1
    @ 2025-1-18 17:03:00

    题解

    代码

    
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        for(int i=0;i<26;i++)                           
        {
            int j=(i+n)%26;
            cout<<char('A'+ j);
        }
        return 0;
    }
    

    思路

    先输入n,代表移位的位数,我们先假设n=3 跟具字符串的特性算出移位后的字母位置 9行代表:当前字母的编码+移位数存到j里,但是如果z要移位,25+3=28就超过编码范围了,所以加一个%26,最终变成2,就是c,这个问题就解决了 最终输出

    • 0
      @ 2025-4-20 19:58:46
      #include <bits/stdc++.h>
      using namespace std;
      
      string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
      
      int main()
      {
          int n;
          cin>>n;
          for(char i:a)
          {   //将字符转化为的0-25
              int x = i - 65 ;
              //使用取模来折返数字
              int y = (x + n) % 26;
              //将数字转化为ascii
              int z = y + 65;
              //输出
              cout<<char(z);
          }
      
          return 0;
      }
      
      • 1

      信息

      ID
      5019
      时间
      1000ms
      内存
      512MiB
      难度
      1
      标签
      递交数
      53
      已通过
      9
      上传者