1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
void f(int *p,int k ); int main() { int *a; int n,i,t,j; scanf("%dn",&n); a=(int*)malloc(n*sizeof(int)); for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n;i++) { t=a[i]; if(t==0) continue; while(t!=1) { if(t%2==0) t/=2; else t=(3*t+1)/2; for(j=0;j<n;j++) { if(a[j]==t) { a[j]=0; break; } } } } f(a,n); for(i=0;a[i]>0;i++) { printf("%d%s",a[i],a[i+1]>0?" ":""); } return 0; } void f(int *p,int k) { int i,j,m; for(i=0;i<k;i++) for(j=i+1;j<k;j++) { if(p[i]<p[j]) { m=p[i]; p[i]=p[j]; p[j]=m; } } }
|
近期评论