/**
专注于为中小企业提供成都做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业沙河免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
*
* @author san
*程序目的:验证3n+1猜想
*/
public class T {
public static void main(String[] args) throws Exception {
System.out.println("请输入一个测试自然数:\r\n");
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
long j=0;
if(i=0) {
System.out.println("请输入自然数!");
return;
}
while(i!=1) {
if(i%2==0) i/=2;
else i=3*i+1;
j++;
System.out.println("第"+j+"次转换,i="+i);
}
System.out.println("经过"+j+"次转换,得到结果!");
}
}
题目要求不是若是奇数,乘3加1,若是偶数/2,你的程序怎么反一反啊?应该是c%2==1吧!还有楼上的程序也不好啊,如果一上来输入1就直接返回1了,干吗还要经过(num%2==1)?
import java.io.*;
public class Jiegu{
public static void main(String args[]) throws IOException{
int c;
c=(int)System.in.read();
System.out.print(dgui(c));
}
static int dgui(int c){
if(c==1)
return 1;
else if (c%2==0)
return dgui(c/2);
else
return 3*c+1;
}
}
}
你的判断条件写错了,判断字符串是否相等要用equals去比较
"yes".equals(o) || "Yes".equals(o)|| "YES".equals(o)