解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
long arr[] = new long[100 * 10000 + 1];
while (input.hasNext()) {
long n = input.nextLong();
long tmp = n;
long res = 0;
for (int i = 1; i <= tmp; i++) {
long max = i;
n = i;
while (n != 1) {
if (n < arr.length) {
if (arr[(int) n] != 0) {
if (arr[(int) n] > max) {
max = arr[(int) n];
}
break;
}
}
if (n % 2 == 0) {
n /= 2;
} else {
n = n * 3 + 1;
}
if (n > max) {
max = n;
}
}
arr[i] = max;
if (max > res) {
res = max;
}
}
System.out.println(res);
}
}}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:707 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:798 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:636 |
WU-陶陶摘苹果2 (C++代码)浏览:1018 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:545 |
回文数字 (C语言代码)浏览:2540 |
判定字符位置 (C语言代码)浏览:849 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:609 |
简单的a+b (C语言代码)浏览:857 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:1109 |