CCF201912-1 报数(100分)模拟

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF201912-1 报数(100分)模拟相关的知识,希望对你有一定的参考价值。

报数


问题链接CCF201912-1 报数
问题分析
    用模拟法解决。
程序说明
    变量num用于计数,变量count用于计数数数的数量,数组cnt[]用于统计每个人的报数数量。
参考链接:(略)

提交后得100分的Python语言程序如下:

# CCF201912-1 报数
n = int(input())
num = 1;
count = 1;
cnt=[0, 0, 0, 0]
while count <= n:
    if num % 7 == 0 or '7' in str(num):
        cnt[(num - 1) % 4] += 1
    else:
        count += 1
    num += 1
for i in range(4):
    print(cnt[i])

提交后得100分的C语言程序如下:

/* CCF201912-1 报数 */

#include <stdio.h>

#define N 4

int have7(int n)

    while(n)
        if(n % 10 == 7) return 1;
        else n /= 10;
    return 0;


int main(void)

    int n, num = 1, count = 1, cnt[N] = 0, 0, 0, 0;

    scanf("%d", &n);
    while(count <= n) 
        if(num % 7 == 0 || have7(num))
            cnt[(num - 1) % N]++;
        else
            count++;
        num++;
    

    int i;
    for(i = 0; i < N; i++)
        printf("%d\\n", cnt[i]);

    return 0;

以上是关于CCF201912-1 报数(100分)模拟的主要内容,如果未能解决你的问题,请参考以下文章

CCF-CSP C/C++ 201912-1 报数 题解

CSP 201912-1 报数 python

CCF 201712-2 游戏 100分

201912-1 报数 Java

CCF201909-4 推荐系统(100分)模拟

CCF201912-4 区块链(100分)模拟