PTA basic 1064 朋友数 (20 分) c++语言实现(g++)
2021/5/10 22:30:20
本文主要是介绍PTA basic 1064 朋友数 (20 分) c++语言实现(g++),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。
输入格式:
输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 104。
输出格式:
首先第一行输出给定数字中不同的朋友证号的个数;随后一行按递增顺序输出这些朋友证号,数字间隔一个空格,且行末不得有多余空格。
输入样例:
8 123 899 51 998 27 33 36 12
输出样例:
4 3 6 9 26
题目比较简单,但是题目描述有点模糊的意思, 题目说输出不同的 朋友证号, 而朋友证号是两个朋友数的 各位数字和
但根据测试用例的输入输出信息来看, 这里说的朋友证号 就是 每个数字 的各位和 并不是两个朋友数的各位和 //测试点 0 1 2就是这个
#include <iostream> #include <vector> using namespace std; int main(){ int n,temp,tempsum{0},i; vector<int> mark(50); vector<int> result; cin >>n; for(i=0;i<n;i++){ cin >> temp; while(temp){ tempsum+=(temp%10); temp/=10; } mark[tempsum]++; tempsum=0; } for(i=0;i<mark.size();i++){ if(mark[i]>=1){ result.push_back(i); } } cout <<result.size()<<endl; for(i=0;i<result.size()-1;i++){ cout << result[i]<<" "; } if(i<result.size())cout << result[i]<<endl; return 0; }
这篇关于PTA basic 1064 朋友数 (20 分) c++语言实现(g++)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享