首页 > 代码库 > PAT 1005继续(3n+1)猜想 (25)
PAT 1005继续(3n+1)猜想 (25)
import java.util.Arrays; import java.util.Scanner; public class Main7 { public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int a=0;int b=0; int[] data = http://www.mamicode.com/new int[n]; boolean[] check = new boolean[n]; int i=0;int j=0; for(i=0;i<n;i++){ data[i]=in.nextInt(); } in.close(); int cnt=0; int tmp=0; for(i=0;i<n-1;i++){ for(j=i;j<n;j++){ if(data[i]>data[j]){ tmp=data[j]; data[j]=data[i]; data[i]=tmp; } } } for(i=0;i<n;i++){ check[i]=false; } for(i=0;i<n;i++){ a=data[i]; while(a!=1){ if(a%2==0){ a=a/2; for(j=0;j<n;j++){ if(check[j]||j==i){ continue; } else{ if(data[j]==a){ check[j]=true; break; } } } } else{ a=(3*a+1)/2; for(j=0;j<n;j++){ if(check[j]||j==i){ continue; } else{ if(data[j]==a){ check[j]=true; break; } } } } } } for(i=n-1;i>0;i--){ if(!check[i]){ cnt++; } } if(n==1){ System.out.print(data[0]); } else{ for(i=n-1;i>=0;i--){ if(!check[i]){ cnt--; System.out.print(data[i]); if(cnt>0){ System.out.print(" "); } } } } } }
PAT 1005继续(3n+1)猜想 (25)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。