PAT朋友数
来源:互联网 发布:购买域名的网站 编辑:程序博客网 时间:2024/06/03 08:14
- 朋友数(20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如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
#include <iostream>#include <stdio.h>#include <vector>#include <algorithm>using namespace std;int main(){ int n; cin>>n; int a[10001]; int ge[10001]; int shi[10001]; int bai[10001]; int qian[10001]; int sum[10001]= {0}; vector<int> v; for( int i=0; i<n; i++ ) { cin>>a[i]; if(0<=a[i]&&a[i]<10) { ge[i]=a[i]; shi[i]=0; bai[i]=0; qian[i]=0; } if(10<=a[i]&&a[i]<100) { bai[i]=0; qian[i]=0; shi[i] =(a[i]-qian[i]*1000-bai[i]*100)/10; ge[i] =a[i]-qian[i]*1000-bai[i]*100-shi[i]*10; } if(100<=a[i]&&a[i]<1000) { qian[i]=0; bai[i] =(a[i]-qian[i]*1000)/100; shi[i] =(a[i]-qian[i]*1000-bai[i]*100)/10; ge[i] =a[i]-qian[i]*1000-bai[i]*100-shi[i]*10; } if(1000<=a[i]&&a[i]<10000) { qian[i]=a[i]/1000; bai[i] =(a[i]-qian[i]*1000)/100; shi[i] =(a[i]-qian[i]*1000-bai[i]*100)/10; ge[i] =a[i]-qian[i]*1000-bai[i]*100-shi[i]*10; } } for( int i=0; i<n; i++ ) { sum[i]=ge[i]+shi[i]+bai[i]+qian[i]; } /* for( int i=0; i<n; i++ ) { for (int j=i+1; j<n; j++) { int temp; if(sum[i]>sum[j]) { temp=sum[i]; sum[i]=sum[j]; sum[j]=temp; } } } */ for( int i=0;i<n;i++ ) { v.push_back(sum[i]); } sort(v.begin(),v.end()); v.erase(unique(v.begin(),v.end()),v.end()); /*删除sum数组中重复的元素*/ cout<<v.size()<<endl; for( int i=0; i<v.size(); i++ ) { if(i!=v.size()-1) { cout <<v[i]<<" "; }else{ cout<<v[i]<<endl; } } return 0; }
阅读全文
0 0
- PAT 1064 朋友数
- PAT B1064. 朋友数
- PAT 1064朋友数
- PAT朋友数
- PAT-B 1064. 朋友数
- PAT乙级1064 朋友数
- [PAT-乙级]1064.朋友数
- 1064. 朋友数(20) PAT
- 朋友数(PAT-1064)
- PAT 1064. 朋友数(20)
- 1064. 朋友数(20) PAT 乙级
- PAT 乙级 1064. 朋友数(20)
- PAT BASIC LEVEL 1064. 朋友数(20)
- 1064. 朋友数(20)-PAT乙级
- PAT乙级 1064. 朋友数(20)
- PAT乙级 1064. 朋友数(20)
- PAT 乙级 1064.朋友数(20)
- [PAT乙级]1064. 朋友数(20)
- Pycrypto与RSA密码技术笔记
- scala多线程
- 2017 Multi-University Training Contest
- 进程通信(ipc)
- 记一个TestNG的教程链接,适合入门学习
- PAT朋友数
- Android studio 项目构建七|压缩代码和资源
- 文件对话框CFileDialog类:打开和保存
- 中国剩余定理
- 微信公众号开发--接收与回复消息(Java)
- 前端跨域的问题
- cacheUtils
- 状态选择器及Button形状
- android 动画详解