文档章节

丑数

tiantian1994
 tiantian1994
发布于 2017/04/01 09:01
字数 261
阅读 4
收藏 0

写一个程序来检测一个整数是不是丑数

丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。

 注意事项:

可以认为 1 是一个特殊的丑数。

样例

给出 num = 8,返回 true
给出 num = 14,返回 false

package test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * Created by daitiantian on 2017/3/20.
 */

public class Hamming {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int x = sc.nextInt();
        System.out.println("是否是丑数:");
        boolean s = isUgly(x);
        System.out.println(s);

    }
    static public boolean isUgly(int num) {
        // Write your code here
        boolean qq = true;
        ArrayList<Integer> re = new ArrayList<>();
        if(num>1) {
            for (int i = 2; i < num;i++){
                if(num%i==0) {
                    re.add(i);
                }
            }
            for(int j=0;j<re.size();j++){
                if((isprime((Integer) re.get(j))==1)&&(re.get(j)!=2)&&(re.get(j)!=3)&&(re.get(j)!=5)){
                    System.out.println(re.get(j));
                    qq = false;
                    break;
                }

            }
        }else if(num<=0){
            qq = false;
        }
        return qq;
    }
    static int isPrime(int a)
    {
        int flag=1;

        for(int i=2;i<a;i++)
        {
            if (a%i==0) {
                flag = 0;
                break;
            }

        }

        return flag;
    }

}

 

© 著作权归作者所有

共有 人打赏支持
tiantian1994
粉丝 1
博文 15
码字总数 3889
作品 0
南京