1. 程式人生 > >第六屆藍橋杯B組C/C++_獎券數目

第六屆藍橋杯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;
}

.

.

.

.

.

.