奖券数目 有些人很迷信数字,比如带“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; }
.
.
.
.
.
.