丑数的个数 如果一个正整数分解后的的所有素因子最多只有2,3,5,7四种,则这个数称为丑数

题目描述
如果一个正整数分解后的的所有素因子最多只有2,3,5,7四种,则这个数称为丑数,比如,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27就是前20个丑数。请编程判断一个数是否是丑数。

输入描述
输入数据首先包含一个整数N(1<=N<=10),表示给出的正整数的个数,然后是N个32位的正整数。

输出描述
请编程输出给出的这些数中丑数的个数。

输入样例
5 2 9 11 65 100

输出样例
3

用户代码

package Sunumber;

import java.util.Scanner;

/*
auther:fjh201831064110
*/
public class SuNumber {

public static void main(String[] args) {
    //输入正整数个数
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入正整数个数N:");
    int n = sc.nextInt();
    //通过数组输入n个正整数
    System.out.println("输入正整数n");
    Scanner nb = new Scanner(System.in);
    int[] b=new int[n];
    for(int i=0;i<b.length;i++){
        b[i]=nb.nextInt();}
    //对每个正整数分解处理
    int  j = 0;
    for(int i=0;i<n;i++) {
        int num = b[i],x = 2;
        //利用循环判断是否为丑数,若不为丑数,j+1
        do {
            if (num % x == 0) {
                if (x != 2 && x != 3 && x != 5 && x != 7) {
                    j++;
                    break;
                }
                num = num / x;
            } else {
                x++;
            }
        }while (num>1);
    }

    j=n-j;
    System.out.println("共有"+j+"个丑数");
}

}
功能是完成了的,只是输出样式和你的不一样,稍微改改就行了