您的位置:首页 > 编程语言 > Java开发

HDU-1032-The 3n + 1 problem

2017-12-26 15:15 369 查看
注意:这道题比较坑

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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HDU JAVA ACM