CCF 201912-01(报数)

 题目信息:参考链接

//01-报数
void numStat(){
    int a[4] = {0};
    int n, cnt = 1, i = 0, jmp = 0;//优化 去除jmp
    scanf("%d", &n);
    while(i < n){
        if(cnt % 7 == 0 || judge(cnt)){
            a[jmp % 4]++;
            cnt++;
            jmp++;
            continue;
        }
        //报数
        i++;//喊出
        jmp++;//轮询
        cnt++;//1,2,....
    }
    for(i = 0; i < 4; i++){
        printf("%d\n", a[i]);
    }
}

int judge(int n){
    int i = n / 10, j = n % 10;
    while(i > 0){
        if(j == 7){
            return 1;
        }
        j = i % 10;
        i = i / 10;
    }
    if(j == 7){
        return 1;
    }
    else{
        return 0;
    }
}
int main(){
    numStat();
    return 0;
}

 

你可能感兴趣的:(CCF解题,程序人生)