题目链接:点我点我点我
原本以为第一遍会TLE的,虽然复杂度是O(N)
结果发现是自己想多了。
注意0 1输入,屁股别加空格就好了
4 5 9 16 11
5 9 7 11 17 13 5 No number can be output ! 11 17 13 5
import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner in = new Scanner(System.in); int n = in.nextInt(); while(n>0){ long num = in.nextLong(); int sum=0; while(num!=0&&num!=1){ if(num%2==0) {num/=2;continue;} else{ if(sum==0)System.out.print(num); else System.out.print(" "+num); sum++; num=3*num+1; } } if(sum==0) System.out.println("No number can be output !"); else System.out.println(); n--; } } }
原文地址:http://blog.csdn.net/rainxbow/article/details/43924673