首页 > 试题广场 >

牛牛数数

[编程题]牛牛数数
  • 热度指数:36286 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}牛牛在酒桌上玩一个小游戏,第一个人从 1 开始数数,如果遇到数字中含有数字 4 或数字是 4 的倍数,则跳过这个数字报下一个,谁数错了就要罚酒一杯。

\hspace{15pt}牛牛为了作弊,它想将所有符合规则的数字预先生成出来。请你帮助牛牛列出 1n 之间所有既不包含数字 4 又不是 4 的倍数的整数,按升序输出。

输入描述:
\hspace{15pt}在一行中输入一个正整数 n,满足 1 \leqq n \leqq 10^5


输出描述:
\hspace{15pt}按升序输出所有满足条件的整数,每个数字占一行。
示例1

输入

9

输出

1
2
3
5
6
7
9

说明

19 中,数字 4 含有数字 4 且 4,84 的倍数,应跳过,剩余数字按升序输出。
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
     Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int i = 1; i <= n; i++) {
            boolean Cons = String.valueOf(i).contains("4");
            boolean fore = i % 4 == 0;
            if (!Cons && !fore) {
                System.out.println(i);
            }
        }
    }
}
发表于 2025-11-13 11:22:31 回复(0)
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int a = in.nextInt();
        for (int i =1;i<=a;i++){
            if ((i%4!=0&&!containsDigitFour(i))){
             System.out.println(i);
            }
        }}
        private static boolean containsDigitFour(int num){
          return String.valueOf(num).contains("4");
        
    }
}

发表于 2025-10-17 09:22:39 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        for (int i = 1; i <= n; i++) {
            if (i % 4 == 0) {
                continue;
            }
            String sn = i + "";
            if (sn.contains("4")) {
                continue;
            }
            System.out.println(i);
        }
    }
}
发表于 2025-09-13 16:00:09 回复(0)