早教吧作业答案频道 -->其他-->
请用C语言根据下面的数学魔术原理编写一个小游戏。请根据下面的数学魔术原理编写一个小游戏。——数学魔术——情景:我有五张卡片,上面写着数字。一:1,3,5,7,9,11,13,15,17
题目详情
请用C语言根据下面的数学魔术原理编写一个小游戏。
请根据下面的数学魔术原理编写一个小游戏。
——数学魔术——
情景:我有五张卡片,上面写着数字。
一:1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31
二:2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31
三:4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31
四:8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31
五:16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
你心中想一个0-31中的一个数字。告诉我这个数字在那几张卡片上有(不能多也不能少,有的全说上,没有的打死也不能说。)我便会知道你想的是什么数字。
比如观众想到21,查卡片得知“1、3、5”张卡片上都有这数字,那么此魔术师就可以计算出这个数字为:
2(1-1)+2(3-1)+2(5-1)=21
======================================
PS:括号里的是在2的上标的,表几次方的
========================================
原理:我们都可以知道0-31数字可以用5位2进制数;其实,那五张卡片就是各代表一位。每张卡片上的数字就是代表这个数字在表示成二进制时这一位为1。比如数字21表示成5位的二进制是10101,这5位二进制的第1位(最右边一位)和第3位、第5位都是“1”,那么就是在第1、3、5号卡片上都有这个数字。
提示:由于要让用户输入卡片号的话,数字所在卡片的个数不确定;你可改成让他检查“下列数字是否包含你所想的数字(Y/N):”,通过每张卡片的确认来进行计算。另,乘2也可以通过移位运算符实现(略)。
请根据下面的数学魔术原理编写一个小游戏。
——数学魔术——
情景:我有五张卡片,上面写着数字。
一:1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31
二:2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31
三:4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31
四:8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31
五:16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
你心中想一个0-31中的一个数字。告诉我这个数字在那几张卡片上有(不能多也不能少,有的全说上,没有的打死也不能说。)我便会知道你想的是什么数字。
比如观众想到21,查卡片得知“1、3、5”张卡片上都有这数字,那么此魔术师就可以计算出这个数字为:
2(1-1)+2(3-1)+2(5-1)=21
======================================
PS:括号里的是在2的上标的,表几次方的
========================================
原理:我们都可以知道0-31数字可以用5位2进制数;其实,那五张卡片就是各代表一位。每张卡片上的数字就是代表这个数字在表示成二进制时这一位为1。比如数字21表示成5位的二进制是10101,这5位二进制的第1位(最右边一位)和第3位、第5位都是“1”,那么就是在第1、3、5号卡片上都有这个数字。
提示:由于要让用户输入卡片号的话,数字所在卡片的个数不确定;你可改成让他检查“下列数字是否包含你所想的数字(Y/N):”,通过每张卡片的确认来进行计算。另,乘2也可以通过移位运算符实现(略)。
▼优质解答
答案和解析
这个程序我昨晚就搞定了,结果掉线上不成网没贴上来,等我早上起来就给你回答。
搞定。
#include
#define N 16
main()
{
int i;
int j;
char ch;
int number=0;
int a[5][N]={{1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31},{2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31 },{4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31 },{8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31},{16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
,31}};
for(i=0;i
搞定。
#include
#define N 16
main()
{
int i;
int j;
char ch;
int number=0;
int a[5][N]={{1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31},{2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31 },{4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31 },{8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31},{16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
,31}};
for(i=0;i
看了 请用C语言根据下面的数学魔术...的网友还看了以下:
两根木条,一根长20厘米,一根长24厘米,将它们一端重合,且放在同一条直线上,求此时两根木条的中点之 2020-03-30 …
两根同样长的绳子,村一根载它的八分之三,从另一根裁八分之三米,剩余部分()两根同样长的绳子,村一根 2020-04-27 …
两根同样的绳子一根用去3/7另一根用去7/3M那一根剪去的长一些?1.第一根2.第二根3.第三根 2020-05-20 …
如图,在水银槽中竖直倒插一根一端封闭、粗细均匀的玻璃管,管内有一段水银柱,高为h,水银柱上端密封有 2020-05-23 …
数学题,忘了怎么做有甲乙丙三种规格的钢条,已知甲种2根,乙种一根,丙种3根,共长23m,甲种一根, 2020-06-02 …
一道五年级数学题:小胖和小亚合买一张游戏卡,他俩带的钱还余12.6元.如果单独买,小胖缺4.7元, 2020-06-10 …
有两根钢管,第一根钢管长54米,第二根钢管长50米.两根钢管使用同样长的一段后,第二根钢管剩下的长 2020-06-14 …
八年级的小王同学,一天在回家的路上,经过一家游戏厅,里面传出人们打游戏发出的叫喊声,他好奇的停下来 2020-06-15 …
“一带一路”铸就辉煌新闻视角,央视新闻联播从2015年4月4日起推出系列报道《一带一路共建繁荣》第 2020-06-25 …
freepascal编程三、拾苹果(spg.pas、spg.c)有一个游戏,屏幕被划分为N列,在屏 2020-07-11 …