PTA basic 1064 朋友数 (20 分) c++语言实现(g++)

2021-05-30 08:07

阅读:578

标签:sub   递增   输入   turn   tor   include   text   script   name   

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

输入格式:

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

输出格式:

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

输入样例:

8
123 899 51 998 27 33 36 12
 

输出样例:

4
3 6 9 26

 

 

题目比较简单,但是题目描述有点模糊的意思, 题目说输出不同的 朋友证号, 而朋友证号是两个朋友数的 各位数字和 

但根据测试用例的输入输出信息来看,     这里说的朋友证号 就是 每个数字 的各位和 并不是两个朋友数的各位和  //测试点 0 1 2就是这个

 

#include 
#include using namespace std;

int main(){
    int n,temp,tempsum{0},i;
    vectorint> mark(50);
    vectorint> result;
    cin >>n;
    for(i=0;i){
        cin >> temp;
        while(temp){
            tempsum+=(temp%10);
            temp/=10;
        }
        mark[tempsum]++;
        tempsum=0;
    }
    for(i=0;i){
        if(mark[i]>=1){
            result.push_back(i);
        }
    }
    cout endl;
    for(i=0;i1;i++){
        cout " ";
    }
    if(iendl;
    return 0;
}

 

PTA basic 1064 朋友数 (20 分) c++语言实现(g++)

标签:sub   递增   输入   turn   tor   include   text   script   name   

原文地址:https://www.cnblogs.com/ichiha/p/14752470.html


评论


亲,登录后才可以留言!