qq_62227344 2021-11-26 08:59 采纳率: 100%
浏览 83
已结题

丑数的个数 如果一个正整数分解后的的所有素因子最多只有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

用户代码

  • 写回答

2条回答 默认 最新

  • qq_54265588 2021-11-26 16:42
    关注

    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+"个丑数");
    }
    

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题