如何用函数公式初中法将由0到9组成的不含重复数字的十位数包含如图中省略的部分写出来。先谢了

很高兴能够再一次跟大家一起分享。

关于用函数产生多个数的所有不重复序列的问题,俺对这个比较有兴趣,研究之后有一点心得,特拿出来和大家分享一下。

俺知道的方法有两种,一种俺起名叫"穷尽筛选法",另一种叫"推理法"。下面分别介绍这两种方法。


以产生0~5六个数字所有不重复的组合为例。

这个方法是有一次看老师帮别人解题类似题的时候受启发学来的。有点侵权的感觉啊,呵呵~,不过分享无界限,相信老师不会介意。

(按照数值从小到大的顺序)按照一定的内在规律,然后根据当前的不重复数,推断出下一个不重复的数。

也就是说先观察一下两个相连不重复数之间的关系,然后整理提取出一个通用的规律,然后再用函数公式把这个规律表达出来就可以了。

下面以产生0~9十个数的所有不重复组合为例,来说明一下这个方法。

好的,我们先看一下下面几个数的下一个不重复10位数是什么(自己直接想,不要用函数的思维):

的下一个不重复10位数是什么呢?

的下一个不重复10位数是什么呢?

的下一个不重复10位数是什么呢?

的下一个不重复10位数是什么呢?

(先别往下看,想好了再往下看,这样才有效果)

第一个数比较简单,我们看第一眼就知道,它的下一个不重复10位数是:

第二个数也不难,我们想一下就能知道,它的下一个不重复10位数是:

第三个和第四个不能直接看出来,但是逻辑思维好的人,通过思考也很快能知道,它们的下一个不重复10位数分别是:和

好了,看了上面的4组数字之后,下面就是要把刚才我们头脑里计算下一个不重复数的思路过程用文字,分步骤表达出来(我发现这个真的不容易啊)。

比较靠左边高位的数字,我们总是希望,能不动的话就尽量不动,只改变右边尽量少的数字的位置。

 (这一步最难)那到底要从第几位(从左边算)开始,来调整后面数字的位置顺序呢?我们的思路是这样的:从右边第1位开始,找出它左边第一个比它小的数字在整组数字中的位置;然后再找右边第2位,第一个比它小的数字在整组数字中的位置;然后是右边第3个…一直到第9个。然后再比较这9个数中最大的那个数,那就是要开始调整的位置。说起来比较抽象,以为例,请看下面的图示

第二步:      找到的那个位置的数要变成什么数呢?要变成它右边的比它大的数里面的最小那个一数。请看下面图示

第三步:      那么,那个位置后面的数该怎么调整呢?这个就简单了,只要把剩下的数,按照从小到大的顺序安排下去就行了。请看下面图示:

嘿嘿,经过上面的3个步骤,我们就把任意一个10位不重复数的下一个不重复数推算出来了。


接下来的问题就是用公式把我们上面的思路表达出来就可以了:

(假设10位不重复的数据存在A1:J1之中)

第一步,找第一个需要变的位置,公式,并定义名称:

第二步,找该位置需要替换的数。公式,并定义名称:

这个公式比较简单,就不图解啦,哈哈~

这个公式用了3层IF构成主要框架:第一层,当所在位置小于第一个需要替换位置x的时候,保持不变;第二层,当所在位置等于第一个需要替换位置x的时候,等于y,第三层,当所在位置大于第一个需要替换位置x的时候,从小到大排列。

到此,松了一口气,小功告成,选中A2:J2,按住填充柄往下拉就行啦。想拉多少就拉多少,而且还可以通过改变A1:J1的值来使它从你指定的位置开始算。嘿嘿~

辛苦能耐心看我这新人的帖子到这里的朋友。

我要回帖

更多关于 函数公式初中 的文章

 

随机推荐