蓝桥杯 奖券数目 (暴力)

来源:互联网 发布:免费淘宝网店模板 编辑:程序博客网 时间:2024/05/21 11:06

题目:

奖券数目

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

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

// 52488

代码:

暴力:

#include <cstdio>const int N = 1000010;int f[N], n, m;bool check(int r){    while (r)    {        if (r % 10 == 4) return false;        r /= 10;    }    return true;}void init(){    for(int i=1; i<=1000000; i++)        if (check(i))            f[i] = f[i - 1] + 1;        else            f[i] = f[i - 1];}int main(){    init();    n=10000;    m=99999;    printf("%d\n",f[m] - f[n - 1]);    return 0;}


暴力:

#include <iostream>  using namespace std;    int main()  {      int a,b,c,d,e;      int count1=0;            for(a=1;a<=9;a++)      {          for(b=0;b<=9;b++)          {              for(c=0;c<=9;c++)              {                  for(d=0;d<=9;d++)                  {                      for(e=0;e<=9;e++)                      {                          if(a!=4&&b!=4&&c!=4&&e!=4&&d!=4)                              count1++;                      }                  }              }          }      }            cout<<count1<<endl;        return 0;  } 



0 0
原创粉丝点击