zoukankan      html  css  js  c++  java
  • PTA 乙级 1064 朋友数 (20分) C++

     思路:对于每个输入的数每位相加后的数(朋友数)存入一个vector中,利用sort对朋友数进行升序排序,对所有朋友数进行遍历,统计所有不重复的的朋友数的总数,输出总数后,再次对所有朋友数进行遍历,输出不重复的朋友数(这个方法是我第一次想出来的方法,有些繁琐,可以尝试用集合的思路)

     1 #include<iostream>
     2 #include<vector>
     3 #include<algorithm>
     4 
     5 using namespace std;
     6 
     7 int main() {
     8     int n = 0;
     9     int num = 0;
    10     int flag = 0;
    11     int count = 0;
    12     cin >> n;
    13     vector<int> sum(n);
    14     for (int i = 0; i < n; ++i) {
    15         cin >> num;
    16         int tmp = -1;
    17         while (tmp != 0) {            //每位相加
    18             tmp = num % 10;
    19             num /= 10;
    20             sum[i] += tmp;
    21         }
    22     }
    23     sort(sum.begin(), sum.end());    //递增排序
    24     int tmp1 = 0;
    25     for (int i = 0; i < n; ++i) {    //计算总共有多少个朋友数
    26         if (sum[i] != tmp1) { count++; tmp1 = sum[i]; }
    27     }
    28     cout << count << endl;
    29     int tmp2 = 0;
    30     for (int i = 0; i < n; ++i) {
    31         if (sum[i] != tmp2) {        //保证不会输出重复的
    32             if (flag) cout << ' ';
    33             cout << sum[i];
    34             tmp2 = sum[i];
    35             flag = 1;
    36         }
    37     }
    38     return 0;
    39 }

  • 相关阅读:
    PHP中curl_init和file_get_contents配合使用
    在PHP语言中使用JSON
    网页中获取IFrame内容
    Golden Gate
    windows 7某些中文程序乱码
    Oracle的同义词(synonyms)总结
    VERITAS容灾技术方案
    VERITAS 备份及容灾方案建议书
    1 FAST ESP 简介
    Linux文件查找命令find,xargs详述
  • 原文地址:https://www.cnblogs.com/SCP-514/p/13606801.html
Copyright © 2011-2022 走看看