华为机试HJ55:挑7

简介: 华为机试HJ55:挑7

题目描述:

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

输入描述:

一个正整数N。(N不大于30000)

输出描述:

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

示例:

输入:

20

10


输出:

3

1

解题思路:

本题比较直接,直接统计能被7整除的数字还有包含7的数字,其中包含7的数字统计,可以通过将数字转化为字符串的形式分析,也可以将数字按位次查找,即先分析余数再进行除法。

测试代码:

#include <iostream>
#include <string>
using namespace std;
int statistics(int num)
{
    int result=0;
    for(int i=7;i<=num;++i)
    {
        int temp=i;
        if(i%7==0)
            result++;
        else{
            while(temp!=0)
            {
                if(temp%10==7)
                {
                    result++;
                    break;
                }
                temp/=10;
            }
        }
    }
    return result;
}
int main()
{
    int number;
    while(cin>>number)
    {
        cout<<statistics(number)<<endl;
    }
    return 0;
}


相关文章
|
6月前
NYOJ-757-期末考试
NYOJ-757-期末考试
24 0
|
6月前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-4 报数 (20分)
|
6月前
|
C语言
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-6 删除字符 (20分)
PTA 浙大版《C语言程序设计(第3版)》题目集 习题8-6 删除字符 (20分)
华为机试HJ103:Redraiment的走法
华为机试HJ103:Redraiment的走法
183 2
|
测试技术
华为机试HJ77:火车进站
华为机试HJ77:火车进站
126 1
华为机试HJ107:求解立方根
华为机试HJ107:求解立方根
143 1
华为机试HJ88:扑克牌大小
华为机试HJ88:扑克牌大小
105 0
|
测试技术
华为机试HJ24:合唱队
华为机试HJ24:合唱队
|
机器学习/深度学习 算法 数据安全/隐私保护
华为机试HJ28:素数伴侣
华为机试HJ28:素数伴侣
100 0
|
算法 测试技术
华为机试HJ67:24点游戏算法
华为机试HJ67:24点游戏算法
100 0