1023. Have Fun with Numbers (20)
来源:互联网 发布:java 蓝牙通信协议 编辑:程序博客网 时间:2024/06/05 02:52
题目链接:https://www.patest.cn/contests/pat-a-practise/1023
题目大意:判断a和2*a中每一个数字的个数是否相同。
解题思路:
- 为便于统计数字的个数使用字符串保存数字a,然后计算2*a
- 再统计两者中0,1,···9的个数
- 比较两者中每个数字的个数是否相同
代码如下:
#include <iostream>#include <string>using namespace std;int cntnum1[10]={0};int cntnum2[10]={0};int main(int argc, char const *argv[]){ string a,b; cin>>a; b=a;//b用来保存a*2 int tmp=0; for(int i=a.length()-1;i>=0;i--){//该循环用来计算a*2 cntnum1[a[i]-'0']++; b[i]=((a[i]-'0')*2+tmp)%10+'0'; if(((a[i]-'0')*2+tmp)<10) tmp=0; else tmp=1; } if(tmp==1) b='1'+b; for(int i=0;i<b.length();i++) cntnum2[b[i]-'0']++; for(int i=0;i<10;i++){ if(cntnum1[i]!=cntnum2[i]){//判断2*a中每个数字的个数与a的是否相同 cout<<"No"<<endl<<b<<endl; return 0; } } cout<<"Yes"<<endl<<b<<endl; return 0;}
阅读全文
0 0
- 1023. Have Fun with Numbers (20)
- 【PAT】1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- PAT: 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- PAT 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 1023. Have Fun with Numbers (20)
- 中国剩余定理介绍
- 自动驾驶的技术架构和生态发展
- 4349: 最小树形图
- 2017暑假集训第二天
- G
- 1023. Have Fun with Numbers (20)
- 运维——Linux防火墙iptables语法详解
- linux编程——I/O操作之文件基本读写
- FreeCodeCamp初级算法
- OpenStack学习笔记-1
- linux文件权限查看及修改-chmod
- mysql分页优化
- Spring Cloud 网卡选择
- 对于const常量定义在头文件的思考