⬆︎
×

[PAT-A] 1120 Friend Numbers

Hyplus目录

Java

import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        Set<Integer> set = new TreeSet<>();
        for (int i = 0; i < n; i++) {
            int x = sc.nextInt();
            int sum = 0;
            while (x > 0) {
                sum += x % 10;
                x /= 10;
            }
            set.add(sum);
        }

        System.out.println(set.size());
        boolean isFirst = true;
        for (int num : set) {
            if (!isFirst) {
                System.out.print(" ");
            } else {
                isFirst = false;
            }
            System.out.print(num);
        }
        System.out.println();

        sc.close();
    }
}

C++

#include <iostream>
#include <cstring>
#include <algorithm>
#include <set>

using namespace std;

int n;
set<int> s;

int main() {
    scanf("%d", &n);
    while (n--) {
        int x, sum = 0;
        scanf("%d", &x);

        while (x) {
            sum += x % 10;
            x /= 10;
        }
        s.insert(sum);
    }

    printf("%d\n", s.size());
    bool is_first = true;
    for (auto it: s) {
        if (is_first) is_first = false;
        else printf(" ");
        printf("%d", it);
    }
    printf("\n");

    return 0;
}

发表评论