#include<stdio.h>
#include <algorithm>
using namespace std;
int main()
{
int N;
int n;
int i,j;
int number[2][100];
int number2[100];
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%d",&number[0][i]);
number[1][i]=1;
}
for(i=0;i<N;i++){
n=number[0][i];
while(n!=1){
if(n%2==0){
n=n/2;
for(j=0;j<N;j++){
if(i!=j){
if(n==number[0][j])
number[1][j]=0;
}
}
}
else{
n=(3*n+1)/2;
for(j=0;j<N;j++){
if(i!=j){
if(n==number[0][j])
number[1][j]=0;
}
}
}
}
}
for(i=0,j=0;i<N;i++){
if(number[1][i]!=0){
number2[j]=number[0][i];
j++;
}
}
sort(number2,number2+j);
for(i=j-1;i>-1;i--){
if(i!=0) printf("%d ",number2[i]);
else printf("%d",number2[i]);
}
return 0;
}
PAT 1005 继续(3n+1)猜想
最新推荐文章于 2024-06-20 10:23:17 发布