Java丑数

    xiaoxiao2022-07-07  211

    丑数: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但7、14不是,因为它们包含质因子7。 习惯上我们把1当做是第一个丑数。 前20个丑数为:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36。

    判断方法: 首先除2,直到不能整除为止,然后除5到不能整除为止,然后除3直到不能整除为止。最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数。

    import java.util.Scanner; public class 丑数 { public static void main(String[] args) { System.out.println("请输入一个数:"); int temp=new Scanner(System.in).nextInt(); System.out.println(temp+" "+isUgly(temp)); } public static boolean isUgly(int num) { if( num <= 0 ) return false; else if( num == 1 ) return true; else { while( num > 1 ) { if( num % 2 == 0 ) num = num / 2; else if( num % 3 == 0 ) num = num / 3; else if( num % 5 == 0 ) num = num / 5; else return false; } } return true; } }
    最新回复(0)