1064 朋友数(JAVA)

简介: 如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。

 

如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。

输入格式:

输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 104。

输出格式:

首先第一行输出给定数字中不同的朋友证号的个数;随后一行按递增顺序输出这些朋友证号,数字间隔一个空格,且行末不得有多余空格。

输入样例:

8
123 899 51 998 27 33 36 12

image.gif

输出样例:

4
3 6 9 26

image.gif

代码实现:

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));
    }
}

image.gif

相关文章
|
存储 Java 关系型数据库
2023年Java最新面试题,附详解答案
2023年Java最新面试题,附详解答案
|
6月前
|
算法 安全 网络协议
java高级面试题_java面试题大全带答案_线程面试题_java面试宝典2019
java高级面试题_java面试题大全带答案_线程面试题_java面试宝典2019
|
6月前
|
前端开发 Java Unix
05. 【Java教程】第一个 Java 程序
05. 【Java教程】第一个 Java 程序
39 1
|
NoSQL Java 关系型数据库
2023最全Java面试题及答案汇总
所有的面试题目都不是一成不变的,面试题目只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。
|
7月前
|
Java
java常见的面试题以及答案
java常见的面试题以及答案
101 2
|
7月前
|
消息中间件 NoSQL Java
Java面试题总结(附答案)
Java面试题总结(附答案)
java202303java学习笔记第四十天数据类型和案例1
java202303java学习笔记第四十天数据类型和案例1
74 0
java202302java学习笔记第一天-解决大家的疑惑2
java202302java学习笔记第一天-解决大家的疑惑2
88 0
java202302java学习笔记第一天-解决大家的疑惑2
java202302java学习笔记第一天-解决大家的疑惑1
java202302java学习笔记第一天-解决大家的疑惑1
121 0
java202302java学习笔记第一天-解决大家的疑惑1
java202302java学习笔记第二天-数据类型扩展和面试题1
java202302java学习笔记第二天-数据类型扩展和面试题1
51 0
java202302java学习笔记第二天-数据类型扩展和面试题1