HDU-1032-The 3n + 1 problem
来源:互联网 发布:淘宝客qq群里的优惠券 编辑:程序博客网 时间:2024/05/16 12:47
注意:这道题比较坑
1.前一个数不一定小于后一个数字
2.可以将两个数字互换,但是要注意输出的时候要保持输入的两个数字的顺序
import java.util.Scanner;public class Main { public static int zc(int n){ int s=1; while(n!=1){ if(n%2==0){ n/=2; s++; }else{ n=n*3+1; s++; } } return s; } public static void main(String[] args) { Scanner cin=new Scanner(System.in); while(cin.hasNext()){ int a=cin.nextInt(); int b=cin.nextInt(); int maxZc=0,maxLength=0; int c=a,d=b; if(c>d) {int t=c;c=d;d=t;} for(int i=c;i<=d;i++){ if(zc(i)>maxZc) {maxZc=zc(i);maxLength=i;} } System.out.println(a+" "+b+" "+maxZc); } }}
阅读全文