关键词不能为空

当前您在: 主页 > 英语 >

趣味编程题整理及答案

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 20:00
tags:

-

2021年2月9日发(作者:dsts)



1.


抓交通肇事犯



一辆卡车违反交通规则,


撞人后逃跑。现场有三人目击事件,< /p>


但都没有记住车号,


只记下车


号的一些特 征




甲说:


牌照的前两位数字是相同的;


乙说:


牌照的后两位数字是相同的 ,


但与前两位不同;



丙是数学家,他 说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。



*


问题分析与算法设计



按照题目的要求造出一个前两位数相同、


后两位数相同且相互间又不同的整数 ,


然后判断该


整数是否是另一个整数的平方。

< br>


*


程序说明与注释



#include


#include


int main()


{


int i,j,k,c;


for(i=1;i<=9;i++) /*i:


车号前二位的取值


*/


for(j=0;j<=9;j++) /*j:


车号后二位的取值


*/


if(i!=j) /*


判断二位数字是否相异


*/


{


k=i*1000+i*100+j*10+j; /*


计算出可能的整数


*/


for(c=31;c*c


判断该数是否为另一整数的平方


*/


if(c*c==k) printf(



No. is %d.n


若是,打印结果


*/


}


}


*


运行结果



Lorry _ 7744


2


.百钱百鸡问题


< br>中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”


:鸡翁 一,值钱


五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?< /p>



*


问题分析与算法设计



设鸡翁、鸡母、鸡雏的个数分别为


x,y,z


,题意 给定共


100


钱要买百鸡,若全买公鸡最多买

< br>20


只,显然


x




值在


0~20


之间;同理 ,


y


的取值范围在


0~33

< p>
之间,可得到下面的不定方程:



5x+3y+z/3=100


x+y+z=100


所以此问题可归结为求这个不定方程的整数解。



由程序设计实现不定方程的求解与手工计算不同。


在分析确定方程中未知数变 化范围的前提


下,可通过对



未知数可 变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。



*


程序说明与注释



#include


int main()


{


int x,y,z,j=0;


printf(



for(x=0;x<=20;x++) /*


外层循环控制鸡翁数


*/


for(y=0;y<=33;y++) /*


内层循环控制鸡 母数


y



0~33

变化


*/


{


z=100-x-y; /*


内外层循环控制下,鸡雏数


z


的值受


x,y


的值 的制约


*/


if(z%3==0&&5*x+3*y+z/3==100)


/*


验证取


z


值的合理性及得到一组 解的合理性


*/


printf(


}


}


3


.三色球问题


若一个口袋中放有


12


个球,其中有


3


个红的。


3


个白的和


6


个黒的,问从中任取


8


个 共有


多少种不同的颜色搭



配?



*


问题分析与算法设计



设任取的红球个数为


i



白 球个数为


j



则黒球个数为

< p>
8-i-j



根据题意红球和白球个数的取值


范围是


0~3




在红球和白球个数确定的条件下,黒球个数取值应为


8-i-j <=6




*


程序说明与注释



#include


int main()


{


int i,j,count=0;

printf(


printf(


n


for(i=0;i<=3;i++) /*


循环控制变量


i< /p>


控制任取红球个数


0


< br>3*/


for(j=0;j<=3;j++) /*


循 环控制变量


j


控制任取白球个数


0



3*/


if((8-i-j)<=6)


printf(


}


4


.马克思手稿中的数学题



马克思手稿中有一道趣味数学问题:有


30


个人 ,其中有男人、女人和小孩,在一家饭馆吃


饭花了


50


先令;每个男人花


3


先令,每个女人花


2


先令,每个小孩花


1


先令;问男人、女


人和小孩各有几人?



*


问题分析与算法设计




x,y,z


分别代表男人、女人和小孩。按题目的 要求,可得到下面的方程:



x+y+z=30 (1)


3x+2y+z=50 (2)


用方程程序求此不定方程的非 负整数解,可先通过


(2)-(1)


式得:


2x+y=20 (3)



( 3)


式可知,


x


变化范围是

< p>
0~10


*


程序说明与注释



#include


int main()


{



int x,y,z,count=0;


printf(


printf (


for(x=0;x<=10;x++)


{


y=20-2*x; /*x


定值据


( 3)


式求


y*/


z=30-x-y; /*



(1)


式求

z*/


if(3*x+2*y+z==50) /*


当前得到的一组解是否满足式


(2)*/


printf(


}


}


5


.新娘和新郞


三对情侣参加婚礼,三个新郞为


A



B



C


,三个新娘为


X



Y


Z


。有人不知道谁和谁结婚,


于是询问了六位新人中的三位 ,但听到的回答是这样的:


A


说他将和


X


结婚;


X


说她的未

< br>婚夫是


C



C

< br>说他将和


Z


结婚。这人听后知道他们在开玩笑,全是假话 。请编程找出谁将和


谁结婚。



*


问题分析与算法设计




A



B

< br>、


C


三人用


1,2



3


表示,



X



A


结婚表示为



X=1





Y


不与


A

< p>
结婚表示为



Y!=1




按照题目中的叙述可以写出表达式:



x!=1 A


不与


X


结婚



x!=3 X


的未婚夫不是


C


z!=3 C


不与


Z


结婚



题意还隐含着


X


Y



Z


三个新娘不能结为配偶,则 有:



x!=y


x!=z



y!=z


穷举以上所 有可能的情况,


代入上述表达式中进行推理运算,


若假设的情况 使上述表达式的


结果均为真,则假设情况就是正确的结果。



*


程序说明与注释



#include


int main()


{


int x,y,z;


for(x=1;x<=3;x++) /*


穷举


x


的全部可能配偶


*/


for(y=1;y<=3;y++) /*


穷举


y


的全部可能配偶


*/


for(z=1;z<=3;z++) /*


穷举


z


的全部可能配偶


*/


if(x!=1&&x!=3&&z!=3&&x!=y&&x!=z&&y!=z) /*


判断配偶是否满足题意


*/


{


printf(


打印判断结果


*/


printf(


printf(


}


}


*


运行结果



X will marry to B. (X



B


结婚


)


Y will marry to C. (Y



C


结 婚


)



Z will marry to A. (Z



A


结婚

< p>
)


6


.委派任务



某侦察队接到一项紧急任务,要求在


A


、< /p>


B



C



D



E


< p>
F


六个队员中尽可能多地挑若干人,


但有以下限制 条件:



1)A


B


两人中至少去一人;



2)A< /p>



D


不能一起去;



3)A



E



F


三人中要派两人去;



4)B



C


都去或都不 去;



5)C



D


两人中去一个;



6)

< p>


D


不去,则


E


也不去。



问应当让哪几个人去?



*


问题分析与算法设计




A



B

< br>、


C



D



E



F


六 个变量表示六个人是否去执行任务的状态,变量的值为


1


,则表


示该人去;变量的值为


0


,则表示该人 不参加执行任务,根据题意可写出表达式:



a+b>1 A< /p>



B


两人中至少去一人;



a+d!=2 A



D


不能一起去;



a+e+f==2 A



E



F


三人中要派两人去;



b+c==0



b+c==2 B



C


都去或都不去;



c+d==1 C



D

< p>
两人中去一个;



d+e==0



d==1

< p>


D


不去,则


E


也不去


(


都不去;或


D



E


随便


)< /p>




上述各表达式之间的关系为“与”关 系。穷举每个人去或不去的各种可能情况,代入上述表


达式中进行推理运算,使上述表达 式均为“真”的情况就是正确的结果。



*


程序说明与注释



#include


int main()


{


int a,b,c,d,e,f;


for(a=1;a>=0;a--) /*


穷举每个人是否去的所有情况


*/


for(b=1;b>=0;b--) /*1:




0:


不去


*/


for(c=1;c>=0;c--)


for(d=1;d>=0;d--)


for(e=1;e>=0;e--)


for(f=1;f>=0;f--)


if(a+b>=1&&a+d!=2&&a+e+f==2


&&(b+c==0||b+c==2)&&c+d==1


&&(d+e==0||d==1))


{

< br>printf(


printf(


printf(


printf(


printf(


printf(


}

-


-


-


-


-


-


-


-



本文更新与2021-02-09 20:00,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/623561.html

趣味编程题整理及答案的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文