#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)猜想
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.