码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PAT数字&字符串处理


    目录

    🧡1019 General Palindromic Number(20)

    🧡1024 Palindromic Number(25)

    🧡1100 Mars Numbers(20)

    🧡常用语法


    💟这里是CS大白话专场,让枯燥的学习变得有趣!

    💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

    💟好记性不如烂键盘,自己总结不如收藏别人!

    💌数字&字符串处理也是PAT的考试重点,记录一下常用易混语法o(╥﹏╥)o

    🧡1019 General Palindromic Number(20)

    题目链接:PTA | 程序设计类实验辅助教学平台

    💌将十进制数N转换成b进制数,判断其是否为对称数。

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. vector<int> s; //存储b进制数
    6. void trans(int N,int b){
    7. int i=0;
    8. while(N){
    9. s.push_back(N%b);
    10. N = N/b;
    11. }
    12. }
    13. void out(vector<int> s){
    14. //倒序输出
    15. for(int i=s.size()-1;i>=0;i--){
    16. cout << s[i];
    17. if(i) cout << " ";
    18. else cout << endl;
    19. }
    20. }
    21. int main(){
    22. int N,b;
    23. cin >> N >> b;
    24. trans(N,b);
    25. for(int i=0;isize()/2;i++){
    26. if(s[i]==s[s.size()-1-i]) continue;
    27. else {
    28. cout << "No" << endl;
    29. out(s);
    30. return 0;
    31. }
    32. }
    33. cout << "Yes" << endl;
    34. out(s);
    35. return 0;
    36. }

    🧡1024 Palindromic Number(25)

    题目链接:PTA | 程序设计类实验辅助教学平台

    💌给出一个数N,经过不多于K次的翻转相加,判断是否会生成对称数。

    1. #include
    2. #include
    3. using namespace std;
    4. string N;
    5. void add(string t) {
    6. int len=N.length(),add=0;
    7. for(int i=0;i
    8. N[i] = N[i]+t[i]+add-'0';
    9. if(N[i] > '9') {
    10. N[i] = N[i] - 10;
    11. add = 1;
    12. }
    13. else add = 0;
    14. }
    15. if(add) N.append("1");
    16. reverse(N.begin(), N.end());
    17. }
    18. int main() {
    19. int K, k;
    20. cin >> N >> K;
    21. for(k=0;k<=K;k++){
    22. string t=N;
    23. reverse(t.begin(), t.end());
    24. if(N == t || k == K) break;
    25. add(t);
    26. }
    27. cout << N << endl << k << endl;
    28. return 0;
    29. }

    🧡1100 Mars Numbers(20)

    💌翻译数字与火星文。

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. string low[13] = {"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"};
    6. string high[13] = {" ","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};
    7. void EarthToMars(int t){
    8. int a = t/13;
    9. int b = t%13;
    10. if(a&&b) cout << high[a] << " " << low[b] << endl;
    11. //注意低位为0时不用输出
    12. else if(a&&!b) cout << high[a] << endl;
    13. else cout << low[b] << endl;
    14. }
    15. void MarsToEarth(string s){
    16. int t1=0,t2=0;
    17. //截取高位(若没有高位,则为低位)
    18. string s1 = s.substr(0,3),s2;
    19. //若有高位,截取低位
    20. if(s.length()>4) s2 = s.substr(4,3);
    21. for(int i=1;i<13;i++){
    22. if(s1==low[i] || s2==low[i]) t2 = i;
    23. if(s1==high[i]) t1 = i;
    24. }
    25. cout << t1*13+t2 << endl;
    26. }
    27. int main(){
    28. int N;
    29. string s;
    30. cin >> N;
    31. getchar();
    32. for(int i=0;i
    33. //读取一行
    34. getline(cin, s);
    35. //如果是地球字符
    36. if(s[0]>='0'&&s[0]<='9')
    37. EarthToMars(stoi(s));
    38. else
    39. MarsToEarth(s);
    40. }
    41. return 0;
    42. }

    🧡常用语法

    1. #include
    2. #include
    3. #include
    4. using namespace std;
    5. int main(){
    6. //string 转 int
    7. string a;
    8. cin >> a;
    9. cout << stoi(a); //整体转换
    10. int b = a[0]-'0'; //计算单个数值
    11. cout << b;
    12. getchar(); //读取一位
    13. string s;
    14. getline(cin, s); //读取一行
    15. s.append("1"); //字符串扩展
    16. reverse(s.begin(), s.end()); //字符串翻转
    17. s.substr(0,3); //从0位开始截取前3位
    18. return 0;
    19. }

  • 相关阅读:
    API 自动化测试难点总结与分享
    C语言指针详解——必备7大知识点
    机器学习的集成方法(bagging、boosting)
    Hudi extraMetadata 研究总结
    Docker的部署与基本使用
    Distributed Systems MIT - Introduction总结
    Java项目校园兼职平台(三层架构+设计模式重构版)(含代码)
    磁盘分区如何分? 电脑磁盘分区免费软件指南!
    Samtec连接器技术前沿 | 全新对准功能确保测试和测量应用中的精确对准
    【SpringMVC】web.xml和spring_mvc.xml文件配置
  • 原文地址:https://blog.csdn.net/qq_41847894/article/details/127757729
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号