ccf201912-1 报数 C++代码实现

代码实现:

#include<iostream>

using namespace std;
/*题目限制为三位数*/
/*思路:
  1.用一个长度为4的数组(初值为0)保存每个人分别跳过了几次
  2.当报数为7的倍数或者数字里包含7时,报数长度加1,报数的这个人的数组的值count[i]加1
  3.循环结束后打印数组元素
*/
int main() {
    int n = 0;
    cin >> n;
    int count[4] = {0,0,0,0};//计数数组
    int i = 0;//记录当前报数的是第几个人
    for (int j = 1; j <= n; j++) {
        //报的数是7的倍数或者包含7的情况
        if (j % 7 == 0 || j % 10 == 7 || j / 10 % 10 == 7 || j / 100 % 10 == 7) {
            n++;
            count[i]++;
        }    
        //报到最后一个人时,重新从第一个人开始
        if (i == 3) {
            i = 0;
        }
        else {
            i++;
        }
    }
    for (int i = 0; i < 4; i++) {
        cout << count[i] << endl;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/syq816/p/12243018.html