#include<stdio.h>
int main()
{
int i,j,num,k,a[101],length;
for(i=0;i<101;++i)
a[i]=-1;
scanf("%d",&num);
for(i=0;i<num;++i)
{
scanf("%d",&k);
a[k]=0;
}
for(i=0;i<101;++i)
{
if(a[i]!=0) continue;
else
{
j=i;
while(j!=1)
{
if(j%2==0)
j=j/2;
else
j=(3*j+1)/2;
if(j<=100) //此处不加if(j<=100)会出现部分测试数据的段错误
a[j]=1;
}
}
}
for(i=0,length=0;i<101;++i)
{
if(a[i]==0) length++;
}
for(i=100;i>0;--i)
{
if(a[i]==0)
{
if(length!=1)
{
--length;
printf("%d",i);
putchar(' ');
}
else
{
printf("%d",i);
break;
}
}
}
return 0;
}
PAT甲级C语言.1005. 继续(3n+1)猜想
最新推荐文章于 2022-09-27 16:58:52 发布