博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1064 朋友数 (20 分)
阅读量:3715 次
发布时间:2019-05-22

本文共 976 字,大约阅读时间需要 3 分钟。

如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 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

代码如下:

#include
using namespace std;int main(){
int N; char snum[6]; int num[37] = {
0}; int i, j; int temp = 0; cin >> N; for(i = 0; i < N; i++) {
temp = 0; cin >> snum; for(j = 0; snum[j] != '\0'; j++) {
temp += snum[j] - '0'; } num[temp]++; } temp = 0; for(int i = 1; i < 37; i++) {
if(num[i] > 0) {
temp++; j = i; } } cout << temp << endl; for(int i = 1; i < 37; i++) {
if(num[i] > 0 && i == j) cout << i; else if(num[i] > 0) cout << i << " "; }}

转载地址:http://zlejn.baihongyu.com/

你可能感兴趣的文章
猴子吃桃的问题
查看>>
【算法练习】迭代法求平方根
查看>>
VScode插件推荐(web开发)
查看>>
筛选N以内的素数
查看>>
选择排序-用选择法对10个整数从小到大排序。
查看>>
矩阵对角线求和
查看>>
数组插入处理
查看>>
【蓝桥杯】求1+2+3+...+n的值。(特别注意)
查看>>
【蓝桥杯】十六进制转八进制
查看>>
【蓝桥杯】十六进制转十进制
查看>>
【蓝桥杯】十进制转十六进制
查看>>
【蓝桥杯】特殊回文数
查看>>
【蓝桥杯】 回文数
查看>>
【蓝桥杯】特殊的数字
查看>>
【蓝桥杯】 杨辉三角形
查看>>
【蓝桥杯】查找整数
查看>>
【蓝桥杯】高斯笔记
查看>>
【蓝桥杯】马虎的算式
查看>>
【蓝桥杯】第39阶台阶
查看>>
【蓝桥杯】黄金连分数(注意:大数)!!!
查看>>