第六届蓝桥杯B组C/C++_奖券数目

奖券数目

有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),
要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。

请提交该数字(一个整数),不要写任何多余的内容或说明性文字。

.后天比赛了,再刷一波!这一题没什么难度,直接用的暴力,但是细细想一想,写判断的时候还是出了点问题。做算法题目数学真的好重要哈,根本不需要写啥代码,一个简单的排列组合就出来了:8*9*9*9*9=52488!

.

/*10000-99999*/
#include<iostream>
using namespace std;
bool Ju(int i) {
	int temp;
	while (i>0) {
		temp = i % 10;//这里就理解错了不应该是 i % 4 !!!
		i /= 10;
		if (temp == 4) {
			return 0;
			break;
		}
	}
	return 1;//符合条件的话就返回1 
}
int main() {
	int account = 0;
	for (int i = 10000; i <= 99999; i++) {//数字99999写成9999了
		if (Ju(i)) {
			account++;
		}
	}
	cout << account << endl;
	return 0;
}

.

.

.

.

.

.

猜你喜欢

转载自blog.csdn.net/qq_39671636/article/details/79762339