1064 朋友数(JAVA)
JAVA 朋友
2023-09-27 14:27:54 时间
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 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
代码实现:
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
/**
* @author yx
* @date 2022-07-23 23:58
*/
public class Main {
static PrintWriter out=new PrintWriter(System.out);
static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
static StreamTokenizer in=new StreamTokenizer(ins);
public static void main(String[] args) throws IOException {
in.nextToken();
int N=(int) in.nval;
Set<Integer> set=new HashSet<>();
String[] split=ins.readLine().split(" ");
for (int i = 0; i < N; i++) {
String s=split[i];
int n=s.length();
int sum=0;
for (int j = 0; j < n; j++) {
sum+=s.charAt(j)-'0';
}
set.add(sum);
}
ArrayList<Integer> list=new ArrayList<>(set);
Collections.sort(list);
System.out.println(list.size());
for (int i = 0; i < list.size()-1; i++) {
System.out.print(list.get(i)+" ");
}
System.out.print(list.get(list.size()-1));
}
}
相关文章
- 【Java开发】Maven那点事儿(Eclipse版)
- Java 线程池 8 大拒绝策略,面试必问!
- 面试官 :Java 调优经验有吗?
- java实验10-java数据库编程
- 保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java、Golang两种客户端教学Case) (一)
- java-IO-基本概念
- 不错的linux下通用的java程序启动脚本
- 28个Java常用的工具类
- Caused by: java.lang.RuntimeException: Using WebView from more than one process at once with the sam
- 1.《Java 2 实用教程》第二章 Java基本数据类型与数组
- java 正则匹配括号对以及其他成对出现的模式
- JAVA SERVLET上传文件的样码
- Java中的构造方法
- java下发电子邮件demo
- 【数据流中的第 K 大元素(703-java)】