1064. 朋友数(20)-PAT乙级
来源:互联网 发布:js 手机 输入法弹出 编辑:程序博客网 时间:2024/04/27 14:41
题目:
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如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>using namespace std;int con(int x){ int sum=0; while (x != 0) { sum += (x % 10); x /= 10; } return sum;}int main(){ int n; cin >> n; int s[37] = { 0 };//## int a = 0; for (int i = 0; i < n; i++) { cin >> a; s[con(a)] = 1; } int count=0; for (int i = 0; i < 37; i++)//## { if (s[i] == 1)count++; } cout << count << endl; int j = 0; while (count > 1) { j++; if (s[j] == 1) { count--; cout << j<< " "; } } for (int i = 36; i >0; i--)//## { if (s[i] == 1) { cout << i; break; } } return 0;}//第一次测试两对两错,说明方法大致没错//##部分普遍少一,加上后就对了//37:最大值9999,因此最大和4*9=36,造37长度的数组则方便赋值
0 0
- 1064. 朋友数(20) PAT 乙级
- PAT 乙级 1064. 朋友数(20)
- 1064. 朋友数(20)-PAT乙级
- PAT乙级 1064. 朋友数(20)
- PAT乙级 1064. 朋友数(20)
- PAT 乙级 1064.朋友数(20)
- [PAT乙级]1064. 朋友数(20)
- pat 乙级 1064. 朋友数(20)
- PAT乙级1064. 朋友数(20)
- PAT乙级1064. 朋友数(20)
- [PAT-乙级]1064.朋友数
- 1064. 朋友数(20)-PAT乙级真题
- 1064. 朋友数(20)-PAT乙级真题
- 1064. 朋友数(20) PAT乙级真题
- PAT乙级1064 朋友数
- PAT乙级真题 1064朋友数(20)
- 1064. 朋友数(20) PAT
- PAT 1064. 朋友数(20)
- yii框架autoload机制
- 详解spl_autoload_register()函数
- [Modern Compiler] Introduction
- Swoole 博客与wiki
- for,while,do...while,switch,break,continue,return的用法
- 1064. 朋友数(20)-PAT乙级
- Android自定义View
- 小米4调整系统分区刷入opengapps stock
- SSD WIN10 + HDD CentOS7.2 双系统的安装过程以及引导问题
- [Modern Compiler] Semantic Analysis, Symbol Tables
- JMS 之 ActiveMQ 简介
- ActiveMQ 点对点消息实现
- 创建 Pool & VIP
- 添加 Pool Member