CCF小白刷题之路---201912-1 报数(C/C++ 100分)

简介: CCF小白刷题之路---201912-1 报数(C/C++ 100分)

一、题目描述
image.png
image.png
image.png
二、代码实现

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
//判断x是否为7的倍数
bool seven(int x)
{
    while(x)
    {
        if(x % 10 ==7) return true;
        x /= 10;
    }
    return false;
}

int main()
{
    int n;
    cin>>n;
    //step用来记录目前已经数了多少个数(不包括要跳过的数)
    int step = 0;
    int num[4] = {0};
    //i用来记录目前已经数了多少个数(包括要跳过的数)
    int i = 0;
    while(step<n)
    {
        int index = i + 1;
        //如果数字含有7或者是7的倍数,则跳过,对于数组+1记录跳过的次数
        if(index % 7 ==0 || seven(index))
        {
            num[i%4]++;
            i++;
        }
        else
        {
            step++;
            i++;
        }
    }
    for(int j=0;j<4;j++)
    {
        cout<<num[j]<<endl;
    }
    return 0;
}
相关文章
|
算法 C语言 C++
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
277 0
|
存储 C++
【五一创作】C++刷题 【入门4】数组
【五一创作】C++刷题 【入门4】数组
130 0
|
6月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
6月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
7月前
|
C语言 C++
【C语言/C++】牛客网刷题训练-12
【C语言/C++】牛客网刷题训练-12
|
7月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
89 1
|
存储 C语言 C++
【C/C++刷题——leetcode】查找字符串中最大的子串
【C/C++刷题——leetcode】查找字符串中最大的子串
332 0
|
7月前
|
C++
C++刷题ACM输入数组
C++刷题ACM输入数组
75 0
|
7月前
|
C++
第十三届蓝桥杯B组C++(试题C:刷题统计)
第十三届蓝桥杯B组C++(试题C:刷题统计)
52 0
|
算法 程序员 C语言
从C语言的使用转换到C++(下篇)——刷题、竞赛篇
我们上篇文章讲述了C++中的一些基础语法和常用函数(从C语言的使用转换到C++(上篇)——刷题、竞赛篇),我们本篇文章讲述C++STL的使用。
221 0