Main test = new Main();System.out.println(test.getUglyNumber(index)); // 求1500以内的丑数数量 } } 自己一行一行去调试就可以了
java程序 求注解 谢谢谢谢 急需!
public class Main {
public boolean isUgly(int number){
while(number % 2 == 0) // 一直整除2,直到不能整除
number/=2;
while(number % 3 == 0) // 一直整除3,直到不能整除
number /=3;
while(number % 5 == 0) // 一直整除5,直到不能整除
number /=5;
return (number ==1)? true:false;
// 丑数定义,不能被2、3、5整除的数就是丑数。我觉得这里应该根据number > 0来判断整除与否
}
public int getUglyNumber(int index){
if(index <= 0) // 传入参数不是正数,返回0
return 0;
int number = 0; // 当前的数
int uglyFound = 0; // 找到的丑数数量
while(uglyFound < index){
number++;
if(isUgly(number)){
++uglyFound; // 如果是丑数,计数器+1
}
}
return number; // 返回错了吧,应该返回uglyFound,否则一直是index的值
}
public static void main(String[] args){
int index = 1500;
Main test = new Main();
System.out.println(test.getUglyNumber(index)); // 求1500以内的丑数数量
}
}
自己一行一行去调试就可以了2018-05-15
你邮箱多少。2018-05-15
要什么程序2018-05-15