【CCF-201912-1】——报数

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

注意,只有不是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; 
}

猜你喜欢

转载自blog.csdn.net/weixin_45845039/article/details/108597248
今日推荐