奖券数目
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
解法一:
#include<stdio.h>
int main()
{
int a,b,c,d,e;
int count=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 &&d!=4 &&e!=4)
{
count=count+1;
}
}
printf("%d",count);
return 0;
}解法二:
#include<stdio.h>
int judge(int n)
{
int a[5];
int i;
int flag=1;
for(i=0;i<5;i++)
{
a[i]=n%10;
n=n/10;
}
for(i=0;i<5;i++)
{
if(a[i]==4)
{
flag=0;
}
}
return flag;
}
int main()
{
int n;
int count=0;
for(n=10000;n<100000;n++)
{
if(judge(n)==1)
{
count=count+1;
}
}
printf("%d",count);
return 0;
}

本文探讨了一个具体的编程问题:如何计算在五位数范围内(10000-99999),排除含有数字4的所有可能组合后,可以产生的唯一抽奖号码的数量。提供了两种不同的实现方式来解决这一问题。
358

被折叠的 条评论
为什么被折叠?



