zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯 历届试题幸运数

    问题描述
    幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成


    首先从1开始写出自然数1,2,3,4,5,6,…

    1 就是第一个幸运数。

    我们从2这个数开始。把所有序号能被2整除的项删除,变为:

    1 _ 3 _ 5 _ 7 _ 9 …

    把它们缩紧,重新记序,为:

    1 3 5 7 9 … 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,不是那个数本身能否被3整除!! 删除的应该是5,11, 17, …

    此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39,…)

    最后剩下的序列类似:

    1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 63, 67, 69, 73, 75, 79, …

    输入格式
    输入两个正整数m n, 用空格分开 (m < n < 1000*1000)
    输出格式
    程序输出 位于m和n之间的幸运数的个数(不包含m和n)。
    样例输入1
    1 20
    样例输出1
    5
    样例输入2
    30 69
    样例输出2
    8

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static int n, m;
        
        public void getResult() {
            ArrayList<Integer> number = new ArrayList<Integer>();
            for(int i = 0;i < n  + 5;i++)
                number.add(i);
            ArrayList<Integer> temp = new ArrayList<Integer>();
            temp.add(0);
            for(int i = 1;i < number.size();i++) {
                if(i % 2 != 0)
                    temp.add(number.get(i));
            }
            number = temp;
            int k = 2;
            while(true) {
                int a = number.get(k++);
                temp = new ArrayList<Integer>();
                temp.add(0);
                for(int i = 1;i < number.size();i++)
                    if(i % a != 0)
                        temp.add(number.get(i));
                number = temp;
                if(a > number.size())
                    break;
            }
            int count = 0;
            for(int i = 0;i < number.size();i++) {
                if(number.get(i) > m && number.get(i) < n)
                    count++;
                else if(number.get(i) >= n)
                    break;
            }
            System.out.println(count);
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            Scanner in = new Scanner(System.in);
            m = in.nextInt();
            n = in.nextInt();
            test.getResult();
        }
    }
    
  • 相关阅读:
    Java Output流写入包装问题
    SpringBoot项目单元测试不经过过滤器问题
    SpringSecurity集成启动报 In the composition of all global method configuration, no annotation support was actually activated 异常
    JWT jti和kid属性的说明
    Maven 排除依赖
    第五章 基因概念的发现
    第三章 孟德尔遗传的拓展
    第二章 孟德尔遗传
    第一章 引言
    GWAS全基因组关联分析
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077690.html
Copyright © 2011-2022 走看看