首页 > 其他分享 >幸运数

幸运数

时间:2023-01-08 00:33:33浏览次数:46  
标签:count get int list1 list ++ 幸运

幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。
首先从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,...)


/**
 * @version 1.0
 * @auther 孙沐华\
 * 幸运数
 */
public class LuckNum {
    public static void main(String[] args)  throws  Exception{
        Scanner scanner = new Scanner(System.in);
        int count = 0;
        int count2 = 0;
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("0");
        for (int i = 1; i < 1000; i++) {
            if (i % 2 != 0) {
                list1.add("" + i);
            }
        }
        for (int i = 2; i < 499; i++) {
            if (i % 3 == 0) {
                list1.remove(i - count);
                count++;
            }
        }
        for (int i = 2; i < 70; i++) {
            if (i % 7 == 0) {
                list1.remove(i - count2);
                count2++;
            }
        }
        for (String s : list1) {
            System.out.print(s+" ");
        }
        int check = Check(m, n, list1);
        System.out.println(check);
    }
    public static int Check(int m, int n, ArrayList<String> list) {
        int count = 0;
        int start = list.indexOf(""+m);
        do {
                start = list.indexOf("" + m);
                m--;
        }while (start==-1);
        int end = list.indexOf(""+n);
        do {
                n++;
                end = list.indexOf("" + n);
        }while (end==-1);
        for (int i = 0; i <50; i++) {
            String s = list.get(i);
            if (Integer.parseInt( list.get(i)) > Integer.parseInt( list.get(start)) &&
                    (Integer.parseInt( list.get(i)) < Integer.parseInt( list.get(end)))) {
                count++;
            }
            if ((Integer.parseInt( list.get(i)) > Integer.parseInt( list.get(end)))){
                break;
            }
        }
        return count;
    }
}

 

 

标签:count,get,int,list1,list,++,幸运
From: https://www.cnblogs.com/xingxingbclg/p/17033941.html

相关文章

  • #ACM2021_23. 摘柿子 and#ACM2021_34. 幸运数字
    #ACM2021_23.摘柿子:一道很简单的排序题,估计是送分题(俺的做法:#include<stdio.h>#include<stdlib.h>#defineN100#defineM100intmain(){intn;//n为柿子个......
  • 2020年——成长、感恩、幸运
    春去秋来、秋收冬藏,成长在悄然之中偷偷的来临,我的2020年似乎是个幸运的年份。 一、学习上硕果累累本来兴高采烈地回家过年,疫情的原因,没想到回去就回不来了,自然被困在廊坊的......
  • 幸运数
    幸运数(lucky)【题目描述】        如果一个正整数的所有质因子都小于等于m且每种质因子个数都为奇数,则称这个数为幸运数,例如当m=3时,6是幸运数而5不是,12也不是幸运......
  • 幸运抽奖(面向对象)
    User:packagecom.javasm.bean;/***@Author:Zxb*@Version:1.0*@Date:2022/11/17-16:36*@Since:jdk1.8*@Description:*/publicclassUser{publici......
  • 幸运抽奖
    importjava.util.Arrays;importjava.util.Scanner;publicclassLuckyDraw{//扫描仪staticScannerscanner=newScanner(System.in);//注册的......
  • 幸运字符串(ansistring)
    幸运字符串(string)【问题描述】对于一个只包含0和1的字符串,如果A是幸运的,B也是幸运的,那么1AB1也是一个幸运的串。现在定义”0”是一个幸运字符串,请判断给定的字符串S是否是......
  • 幸运抽奖
    publicstaticStringanswer;publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);booleanloginFlag=false;......
  • java----小案例,幸运会员,打印正三角
    案例一1.接收一个4位数会员号2.生成随机数并乘以103.算出会员号中的百位数字的数字号与生成的随机数比较4.如果相等则是幸运会员,反之不是packagelearnday5;​import......
  • java----模拟幸运抽奖小案例
    模拟幸运抽奖案例:功能:用户注册:注册后随机生成4位数的卡号登录:三次机会,失败一次扣一次机会,机会为0返回主操作幸运抽奖:注册后生成的4位数卡号与随机生成的5个4位数卡号对......
  • 幸运大抽奖
    幸运大抽奖#include<stdio.h>#include<time.h>#include<stdlib.h>#include<windows.h>intmain(){srand((unsignedint)time(NULL));//把时间作为我们的随机数......