不好找规律的数学题编号为1、2、3……n的n张扑克牌按顺序叠在一起.现将牌最上面一张(编号为1)发出,将下一张(编号为2)放这叠牌的最下面,再将下一张(编号为3)发出,依次类推,直至发

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 10:23:12
不好找规律的数学题编号为1、2、3……n的n张扑克牌按顺序叠在一起.现将牌最上面一张(编号为1)发出,将下一张(编号为2)放这叠牌的最下面,再将下一张(编号为3)发出,依次类推,直至发

不好找规律的数学题编号为1、2、3……n的n张扑克牌按顺序叠在一起.现将牌最上面一张(编号为1)发出,将下一张(编号为2)放这叠牌的最下面,再将下一张(编号为3)发出,依次类推,直至发
不好找规律的数学题
编号为1、2、3……n的n张扑克牌按顺序叠在一起.现将牌最上面一张(编号为1)发出,将下一张(编号为2)放这叠牌的最下面,再将下一张(编号为3)发出,依次类推,直至发完所有牌.
(1)最后一张是什么牌?特别的,当n=13,54,1000时,你的结果分别是什么?
(2)如果发出的牌刚好是1,2,3,……n这样一个顺序,问原来的牌是怎样排列的?要求给出算法和相应的实现程序.的别的,当n=13,54时,牌具体是怎样排列的?
其实,这里的牌没有什么用,就是一道有点特别的数学题.(1)当n依次从1取到16时,最后一张是依次是1、2、2、4、2、4、6、8、2、4、6、8、10、12、14、16.
(2)当n从1取到8时,排序依次为:1,1、2,1、3、2,1、3、2、4,1、5、2、4、3,1、4、2、6、3、5,1、6、2、5、3、7、4,1、5、2、7、3、6、4、8.

不好找规律的数学题编号为1、2、3……n的n张扑克牌按顺序叠在一起.现将牌最上面一张(编号为1)发出,将下一张(编号为2)放这叠牌的最下面,再将下一张(编号为3)发出,依次类推,直至发
#include
void main()
{
int f=0;
int a[1002],n,i;
printf("please input the total numble:\n");
scanf("%d",&n);
for(i=1;i1)
{
for(i=1;i

//由于空格无法显示,随意都替换为-
////////////////////////////////////////////
直觉告诉我这个问题一定与2的N次幂有关系,准确地说与2的2的N次幂的余数有关。因此,我们先分析一个简单的,逐步找规律。
一、我们建立了一个图形(完整的二叉数)结构。分析N=8
可以将各数依次写出,然后相邻两数为一组,
-1--2--...

全部展开

//由于空格无法显示,随意都替换为-
////////////////////////////////////////////
直觉告诉我这个问题一定与2的N次幂有关系,准确地说与2的2的N次幂的余数有关。因此,我们先分析一个简单的,逐步找规律。
一、我们建立了一个图形(完整的二叉数)结构。分析N=8
可以将各数依次写出,然后相邻两数为一组,
-1--2--3--4--5--6--7--8
-\--/--\--/--\--/--\--/
---2----4-----6-----8
---\----/------\---/
------4----------8
-------\--------/
------------8
每一层数字表示每一回合开始时的顺序,\/表示从上面两个数中淘汰(取出)一个,选另一个进入下一回合。因此,取出顺序就是
1-3-5-7-2-6-4-8
注意:
1、每一回合都取了偶数个点,所以下一回合都取左节点
2、我们定义最上面为第0层,依次向下为1,2,3层,则各层的左节点为
2^n+1,右节点为2^n。 (2^n=2的n次幂)
二、N=7
-1--2--3--4--5--6--7--
-\--/--\--/--\--/----
---2----4-----6-----
---\----/------\---
------2----------6
-------\--------/
------------6
取出顺序依次为:1,3,5,7,4,2,6
由于第一回合之初牌数为奇数,所以第二次取右节点
同理,第二回合之初牌数为奇数,所以第三次又改取左节点
三、N=14
14=8+4+2=2^3+2^2+2^1
1、第一回合:依次取走所有的奇数(2k+1,k为任意自然数,下同),共7个。留偶数(即2k)7个
因为期初为偶数个数,所以,第二回取左节点。
2、第二回合:
依次取走所有的左节点(2*(2k+1))共4个,留右节点(即2*(2k))3个
因为期初为奇数个数,所以,第三回取右节点。
3、第三回合:
依次取走所有的右节点(4*(2k))共1个,留左节点(即4*(2k+1))2个
因为期初为奇数个数,所以,第三回改取左节点。
4、第四回合:
依次取走所有的左节点(8*(2k+1))共1个,留右节点(即2*(2k))1个。
5、取-12
四、以上仅仅讲述了机理。
再大一点数也不难算,1000个数仅需要推理10次(2^10=1024)。鼓励你细心分析,再找规律,建立解析式。
五、根据出牌顺序拟推原顺序,这个其就是知道10张椅子的出场顺序,你回过头给人安排座椅的问题。

收起

你可以试试初中函数计算器的 回归计算 功能

-1--2--3--4--5--6--7--8
-\--/--\--/--\--/--\--/
---2----4-----6-----8
---\----/------\---/
------4----------8
-------\--------/
------------8

tainan

1,1、2,1、3、2,1、3、2、4,1、5、2、4、3,1、4、2、6、3、5,1、6、2、5、3、7、4,1、5、2、7、3、6、4、8.