栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PAT乙级1005

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PAT乙级1005

C++

#include 
#include 

using namespace std;

int main(int argc, char *argv[])
{
	int a[200];
	int b[10000]={0};
	int k;
	cin>>k;
	for(int i = 0;i < k;i++){
		cin>>a[i];
		int p = a[i];
		b[p]++;
		while(p != 1){
			if(p&1){
				p = (p*3+1)/2;
				b[p]++;
			}else{
				p /= 2;
				b[p]++;
			}
		}
	}
	int res[1000];
	int flag = 0;
	for(int i = 0;i < k;i++){
		if(b[a[i]] == 1) {
			res[flag++] = a[i];
		}
	}
	sort(res,res+flag);
	for(int i = flag-1;i >= 0;i--){
		if(i == flag-1) cout< 

python,。。。无语了把reverse想成从小到大排序了

n = int(input())
arr = [0 for i in range(10001)]
val = [int(k) for k in input().split()]
for k in val:
    arr[k]+=1
    while k != 1:
        if k % 2 == 0: k /= 2
        else: k = (k*3+1)/2
        k = int(k)
        arr[k]+=1
res = []
for k in val:
    if arr[k] == 1: res.append(k)
res.sort()
res.reverse()
if len(res) > 0 :
    print(res[0],end="")
    for k in res[1:]: print(" {}".format(k),end="")

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739160.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号