题解 | #挑7#

挑7

https://www.nowcoder.com/practice/ba241b85371c409ea01ac0aa1a8d957b

模拟即可,需要注意的是不能直接将 n / 7 加到 count 中,因为 7 的倍数也可能某一位含 7,它们应该被记录为同一个数。

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            int count = 0;
            for (int i = 1; i <= n; i++) {
                if (i % 7 == 0) {
                    count++;
                } else {
                    int bit = 1;
                    while (bit <= i) {
                        if ((i % (bit * 10)) / bit == 7) {
                            count++;
                            break;
                        }
                        bit *= 10;
                    }
                }
            }
            System.out.println(count);
        }
    }
}

全部评论

相关推荐

11-24 19:04
已编辑
湖南工商大学 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务