解题思路:
注意事项:
1.注意n*3可能int型不够用,用long
2.输入的时候可能a比b大,所以要换位置代入函数。
参考代码:
import java.util.Scanner; public class problem3n1 { public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ long a=in.nextInt(); long b=in.nextInt(); long c; if(a>b) c=sort(b,a); else c=sort(a,b); System.out.println(a+" "+b+" "+c); } } private static long sort(long a, long b) { int max=0; for(long i=a;i<=b;i++){ int count=1; long num=i; while(num!=1) { if(num%2==1) { num=num*3+1;count++; } else {num=num/2;count++;} } if(count>max)max=count; } return max; } }
0.0分
0 人评分
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:503 |
程序员的表白 (C语言代码)浏览:1472 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1122 |
字符串问题 (C语言代码)浏览:1522 |
字符串对比 (C语言代码)浏览:1413 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5232 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:595 |
最小公倍数 (C语言代码)浏览:1029 |
1009题解浏览:752 |
1048题解(读入回车问题)浏览:566 |