水题!
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); while (n-- > 0) { int m = sc.nextInt(); int count = 0; while (m > 1) { if ((m & 1) == 1) { // 题目先输出 if (++count == 1) { System.out.print(m); } else { System.out.print(" " + m); } // 奇数 m = m * 3 + 1; } else { // 偶数 m = m / 2; } } if (count == 0) { System.out.print("No number can be output !"); } // 换行 System.out.println(); } } }
验证角谷猜想
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7237 Accepted Submission(s): 3724
Problem Description
数论中有很多猜想尚未解决。当中有一个被称为“角谷猜想”的问题。该问题在五、六十年代的美国多个著名高校中曾风行一时。这个问题是这样描写叙述的:不论什么一个大于一的自然数,假设是奇数,则乘以三再加一;假设是偶数,则除以二;得出的结果继续依照前面的规则进行运算,最后必然得到一。
如今请你编写一个程序验证他的正确性。
Input
本题有多个測试数据组,第一行为測试数据组数N,接着是N行的正整数。
Output
输出验证“角谷猜想”过程中的奇数,最后得到的1不用输出;每一个測试题输出一行;每行中仅仅有两个输出之间才干有一个空格;假设没有这种输出,则输出:No number can be output !。
Sample Input
4 5 9 16 11
Sample Output
5 9 7 11 17 13 5 No number can be output ! 11 17 13 5
Author
Cai Minglun