PAT_甲级_1120 Friend Numbers

题目大意

如果两个数字的位数和相同,那么就说明这是一个好友数,现在给定N个数字,要求按照顺序输出不同的好友数

算法思路

在输入每一个数字的时候计算该数字的位数和,然后添加到set集合中,set集合的大小就是不同的好友数目,最后依次输出set集合中的元素。

提交结果

image.png

AC代码

#include
#include

using namespace std;

int calDigitSum(int n){
    int r = 0;
    while(n!=0){
        r += n%10;
        n /= 10;
    }
    return r;
}

int main() {
    int n;
    scanf("%d",&n);
    int num;
    set s;
    for(int i=0;i

你可能感兴趣的:(c++数据结构和算法)