HDOJ 3784
繼續xxx定律
Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1238????Accepted Submission(s): 341
?
Input 輸入數據包含多個用例,每個用例首先包含一個整數n,然后接下來一行有n個整數a[i],其中:1<=n<=500
1<a[i]<=1000
?
Output 請計算并輸出數組a中包含的關鍵數,并按照其輸入順序的逆序輸出,每個用例輸出占一行。?
Sample Input 3 3 8 4 5 3 8 4 7 15 5 3 8 4 15 7 0?
Sample Output 3 15 7 3 7 15 3 #include<stdio.h> int a[505],vis[505]; int main() {int n,temp;int i,j;int flag;while(scanf("%d",&n),n){{for(i=1;i<=n;i++){scanf("%d",a+i);/*默認為關鍵數*/ vis[i]=1;}for(i=1;i<=n;i++){temp=a[i];while(temp!=1){if(temp&1){temp=3*temp+1;temp>>=1;}elsetemp>>=1;for(j=1;j<=n;j++)if(temp==a[j])vis[j]=0;}}}flag=1;/*若是直接輸for(i=n;i>=1;i--)if(mark[i]==0)printf("%d ",num[i]);肯定PE,因為最后多輸出一個空格而且不知道最后一個是誰,不能for(i=n;i>=1;i--)printf("%d ",);printf("%d\n")*/ for(i=n;i>=1;i--)if(1==vis[i]){if(1==flag){printf("%d",a[i]);flag=0;}else printf(" %d",a[i]);}printf("\n"); }return 0; }?
轉載于:https://www.cnblogs.com/hxsyl/archive/2012/07/25/2608192.html
總結
- 上一篇: UI设计师应了解最终用户的十件事
- 下一篇: ProSolid下的遍历访问封装代码