Java题解 | HJ55 #挑7#

挑7

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

描述

输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数(一组测试用例里可能有多组数据,请注意处理)

输入描述:
一个正整数N。(N不大于30000)

输出描述:
不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.

示例1

输入
20

输出
3

解法

  • 遍历,从7开始一直遍历到N;
  • 遇到是7的倍数或者含7的数就记数;
  • 7的倍数可对7取余数为0判断;
  • 含7的数就是用字符串的包含方法判断
 * Copyright (c) waylau.com, 2022. All rights reserved.
 */

package com.waylau.nowcoder.exam.oj.huawei;

import java.util.Scanner;

/**
 * HJ55 挑7.
 * 输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数
 * (一组测试用例里可能有多组数据,请注意处理)
 * 输入描述:一个正整数N。(N不大于30000)
 * 输出描述:不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.
 * 示例1
 * 输入
 * 20
 * 输出
 * 3
 *
 * @author <a href="">Way Lau</a>
 * @since 2022-08-26
 */
public class HJ055PickSeven {
    public static void main(String[] args) {
        // 输入
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        // 输出
        System.out.println(pickSeven(n));

        // 关闭
        in.close();
    }

    private static int pickSeven(int n) {
        int count = 0;

        // 从7算到n行为止。
        for (int i = 7; i <= n; i++) {
            if (i % 7 == 0) {
                count++;
                continue;
            }

            if ((i + "").contains("7")) {
                count++;
                continue;
            }
        }

        return count;
    }
}

参考引用

#华为机考#
全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 14:00
林子大了什么鸟都有啊,我觉得我说的已经很客气了,阴阳谁呢
牛客62656195...:应该不是阴阳吧?你第一次注册的时候boss就说你是牛人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务