题源
题解
#include<stdio.h>
int K,n;
int Kn[101];
int box[101] = {0};
int main()
{
scanf("%d",&K);
for(int i = 0;i < K;i++)scanf("%d",&Kn[i]);
for(int i = 0;i < K;i++){
n = Kn[i];
for(;n != 1&&n != 0;){
if(n%2)n = (n*3+1)/2;
else n = n/2;
for(int j = 0;j < K;j++){
if(n==Kn[j])Kn[j] = 0;
}
// if(n==0)break;
}
}
for(int i = 0;i < K;i++){
if(Kn[i]!=0)box[Kn[i]]++;
}
int flag = 0;
for(int i = 100;1 <= i;i--){
if(box[i] != 0){
if(flag)printf(" ");
printf("%d",i);
flag = 1;
}
}
getchar();getchar();return 0;
}