继续xxx定律
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1294 Accepted Submission(s): 361
1<=n<=500
1<a[i]<=1000
#include<stdio.h>//通过其中的几个关键数,可以表示这里所有的数值;
int notfind(int e,int *c,int j)
{
int i;
for(i=0;i<j;i++)
if(c[i]==e)
return 0;
return 1;
}
int main()
{
int a[550];
int c[50000],j,flag;
int t,i,n;
while(scanf("%d",&t)!=EOF&&t)
{
j=0;flag=1;
for(i=0;i<t;i++)
scanf("%d",&a[i]);
for(i=0;i<t;i++)
{
n=a[i];
while(n!=1)
{
if(n&1)
{
n=3*n+1;
n>>=1;
c[j++]=n;
}
else
{
n>>=1;
c[j++]=n;
}
}
}
// for(i=0;i<j;i++)
// printf("%d ",c[i]);
// printf("\n");
for(i=t-1;i>=0;i--)
if(notfind(a[i],c,j))
{
if(flag>0)//最后一个字符后没空格
{printf("%d",a[i]);
flag--;
continue;
}
printf(" %d",a[i]);}
printf("\n");
}
return 0;
}
转载于:https://blog.51cto.com/hpuwl2012/957205