【CCF-201912-1】——报数

标签: CCF

在这里插入图片描述
在这里插入图片描述

注意,只有不是7的倍数,也不含有7时sum才会自增,直到大于n值,关于7的两种情况满足其一即跳过。甲乙丙丁的计数可以通过数组完成,在判断时注意四个一循环,所以通过对4取余判断即可。
#include <iostream>
using namespace std;

bool ishave(int n){
	if(n==0)
		return false;
	if(n%7==0)
		return true;
	while(n!=0){
		if(n%10==7)
			return true;
		n /= 10;
	}
	return false;
}

int main(){
	int n;
	cin >> n;
	int sum = 1,cnt[4] = {0};
	for(int i = 1;sum<=n;i++){
		if(!ishave(i))
			sum++;
		else if(i%4==1&&ishave(i)){
			cnt[0]++;
		}
		else if(i%4==2&&ishave(i)){
			cnt[1]++;
		}
		else if(i%4==3&&ishave(i)){
			cnt[2]++;
		}
		else if(i%4==0&&ishave(i)){
			cnt[3]++;
		}
	}
	for(int i = 0;i<4;i++){
		cout << cnt[i] << endl;
	}
	return 0; 
}
版权声明:本文为weixin_45845039原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45845039/article/details/108597248