PTA 乙级 1005 继续(3n+1)猜想 (25分)

Posted scp-514

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA 乙级 1005 继续(3n+1)猜想 (25分)相关的知识,希望对你有一定的参考价值。

技术图片

 

 

 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm>
 4 using namespace std;
 5 bool cmp(int a, int b) {
 6     return a > b;
 7 }
 8 int main() {
 9     int K, flag = 0;    
10     cin >> K;
11     int a[10000] = { 0 };
12     vector<int> v;
13     for (int i = 0; i < K; i++) {
14         int tmp;    
15         cin >> tmp;
16         v.push_back(tmp);
17         while (tmp != 1) {
18             if (tmp % 2 == 1)    
19                 tmp = 3 * tmp + 1;
20             tmp /= 2;
21             if (a[tmp] == 0)    
22                 a[tmp] = 1;
23         }
24     }
25     sort(v.begin(), v.end(), cmp);    //重新排序
26     for (int i = 0; i < v.size(); i++) {
27         if (a[v[i]] == 0) {
28             if (flag == 1)    cout << " ";
29             cout << v[i];
30             flag = 1;
31         }
32     }
33     return 0;
34 }

来源:https://blog.csdn.net/zhanshen112/article/details/84310167

本题不太会(本人太菜了),感谢这位博主提供好方法,得以学习

对C++的库了解甚少,专门查了查官方文档:http://www.cplusplus.com/reference/algorithm/

里面sort函数的解释:

技术图片

 

 技术图片

 技术图片

 

以上是关于PTA 乙级 1005 继续(3n+1)猜想 (25分)的主要内容,如果未能解决你的问题,请参考以下文章

[PAT乙级] Practise 1005 继续(3n+1)猜想

PAT-乙级-1005 继续(3n+1)猜想

PAT乙级1005 继续(3n+1)猜想 (25 分)

JAVA1005 继续(3n+1)猜想 (25分) PAT乙级 PAT (Basic Level)Practice (中文)

PTA 乙级 1001 害死人不偿命的(3n+1)猜想 (15分)

PAT 乙级 1005