hdu 1279 验证角谷猜想
转载
水题!
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
Sample Output
5
9 7 11 17 13 5
No number can be output !
11 17 13 5
Author
Cai Minglun
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。