产生数

合集下载

数的产生教案(优秀10篇)

数的产生教案(优秀10篇)

数的产生教案(优秀10篇)数的产生教案篇一1、正确感知“4”的数量和对数字“4”的认识。

2、学习按给的6以内的数字,取出或找出相应数量的物体,认读数字4.小熊猫图片6只、红泡泡图片、绿泡泡图片、黄泡泡图片、蓝泡泡图片各若干。

能根据相应的物体,读出相应的数字,并找出该数字。

一、按数取动物1、出示4只熊猫,幼儿点数。

2、一只熊猫吹了4个红泡泡,请幼儿取出4个红泡泡,贴在这个熊猫的旁边。

3、一只熊猫吹了4个绿泡泡,请幼儿取出4个绿泡泡,贴在这个熊猫的旁边。

4、一只熊猫吹了4个黄泡泡,请幼儿取出4个黄泡泡,贴在这个熊猫的旁边5、另一只熊猫吹了4个蓝泡泡,请幼儿取出4个蓝泡泡,贴在这个熊猫的旁边。

二、按数找物,认读数字41、4只熊猫、4个红泡泡、4个绿泡泡、4个黄泡泡、4个蓝泡泡,它们的数量都是4,可以用数字“4”来表示,“4”想小旗,要求念准“4”。

2、这里已经有了4只熊猫了,又来了2只,现在时几只啊?(6只)3、给排在前面的4只熊猫贴上数字“1”、“2”、“3”、“4”,让幼儿认读数字。

4、1号熊猫吹了两个泡泡,请人来来给熊猫贴上两个泡泡。

5、2号、3号、4号熊猫用同样的方法,分别给它们贴上5个、6个、3个泡泡,请幼儿操作。

6、还用两只没有贴上号的熊猫分别也吹了4个和5个泡泡,请幼儿操作。

数的产生教案篇二1.能大胆的根据数字的特征进行想象画。

2.能用连贯的语句,大胆的表达自己的作品发展语言,激发幼儿的想象力。

3.鼓励幼儿与同伴合作绘画,体验合作绘画的乐趣。

4.体验运用不同方式与同伴合作作画的乐趣。

1.勾线笔画纸等人手一份。

2.已认识数字1---10,对数字的特征有一定的了解。

3.课件《数字歌》一、导入引发幼儿对数字变化的兴趣。

1.小朋友,今天老师带来了一段动画片,一起来看看,好吗?(放影动画)2.刚才你们在动画片里看到了什么呢?(看到了数字宝宝等)数字宝宝会变很多的魔术,你看到的数字宝宝变成的是什么呢?(幼儿回答)(小结:原来数字宝宝可以变出好多好多的东西呀!看看老师给你们带来了哪些数字宝宝)二、让幼儿了解数字宝宝是怎样来变化的?教师示范操作。

数的产生 ︳人教新课标教育课件

 数的产生 ︳人教新课标教育课件



学习重要还是人脉重要?现在是一 个双赢 的社会 ,你的 价值可 能更多 的决定 了你的 人脉, 我们所 要做的 可能更 多的是 专心打 造自己 ,把自 己打造 成一个 优秀的 人、有 用的人 、有价 值的人 ,当你 真正成 为一个 优秀有 价值的 人的时 候,你 会惊喜 地发现 搞笑人 脉会破 门而入 。从如 下方 面改进 :1、专 心做可 以提升 自己的 事情; 2、学 习并拥 有更多 的技能 ;3、成 为一个 值得交 往的人 ;4学 会独善 其身, 尽量少 给周围 的人制 造麻烦 ,用你 的独立 赢得尊 重。





































































































数的产生资料

数的产生资料

1.数的产生很久以前,人们在生产劳动中就有了计数的需要。

例如,人们出去打猎的时候,要数一数共出去了多少人,拿了多少件武器;回来的时候,要数一数捕获了多少只野兽等等,这样就产生了数。

2.记数符号、计数方法的产生在远古时代人们虽然有计数的需要,但是开始还不会用一、二、三……这些数词来数物体的个数。

只知道“同样多”、“多”或“少”。

那时人们只能借助一些其他物品,如在地上摆小石子、在木条上刻道、在绳上打结等方法来计数。

比如,出去放牧时,每放出一只羊,就摆一个石子,一共出去了多少只羊,就摆多少个小石子;放牧回来时,再把这些小石子和羊一一对应起来,如果回来的羊的只数和小石子同样多,就说明放牧时羊没有丢。

再如,出去打猎时,每拿一件武器,就在木棒上刻一道,一共拿了多少件就在木棒上刻多少道;打猎回来时,再把拿回来的武器和木棒上刻的道一一对应起来,看武器和刻道是不是同样多,如果是,就说明武器没有丢失。

结绳计数的道理也是这样。

这些计数的基本思想就是把要数的实物和用来计数的实物一个对一个地对应起来,也就是现在所说的一一对应。

以后,随着语言的发展逐渐出现了数词,随着文字的发展又发明了一些记数符号,也就是最初的数字。

各个国家和地区的记数符号是不同的。

阿拉伯数字,其实并不是阿拉伯人发明的,而是由印度人发明的,公元八世纪前后,由印度传入阿拉伯,公元十二世纪又从阿拉伯传入欧洲,人们就误认为这些数字是阿拉伯人发明的,后来就叫做“阿拉伯数字”。

随着社会的发展,人们的交流也越来越多,但各个地区数学不同,交流起来很不方便,以后就逐渐统一成现行的阿拉伯数字。

后来人类对数的认识逐渐增加,数认得也越来越大,如果每一个数都用不同的数字来表示,很不方便,也没有必要,这样就产生了进位制。

古代十进制,还有十二进制、六十进制等等。

由于十进制计数比较方便,以后逐浙统一采用十进制。

1 / 1。

数的产生详解

数的产生详解

数的产生详解2篇【数的产生详解】(上)数是人类思维的产物,是人类为了描述、计算和理解世界而发展出来的一种符号系统。

数的产生可以追溯到人类进化智慧的早期阶段,当人们开始意识到周围物体的数量和变化时,便开始了对数的探索和研究。

最初,人类使用手指和脚趾的数量进行计数。

这种称为“十指计数法”的方式是最为直观和便捷的。

人们会用手指指向物体,并重复叫出数字,以此表示物体的数量。

例如,一人指着五只牛,便叫出“一、二、三、四、五”。

通过这种方式,人们能够迅速地对少量物体进行计数。

然而,随着人类社会的发展和数的应用范围的扩大,十指计数法已经远远不够满足需求。

于是,人们通过刻画图形和符号来表示数字,从而形成了一种更为抽象的数的表达方式。

最早的表达方式是通过刻画原始的几何形状,来代表特定的数字。

例如,用垂直线段表示“一”,用曲线表示“二”,用矩形表示“四”等等。

这种表达方式虽然简单,但已经开始展现出数的抽象特性。

随着时间的推移,人们开始意识到数可以进行运算和组合,从而得到更多的数。

于是,人们推导出了加法、减法、乘法和除法等基本运算法则,并进一步发展了数的概念。

通过运用这些运算法则,人们可以进行更复杂的数学运算,例如求解方程、推导定理等等。

数的产生还与人类对时间和空间的感知有关。

人们发现一年有四季,一天有二十四小时,地球的周长大约是四万公里等等。

通过对时间和空间的观察和理解,人们推导出了更为复杂的数学概念,例如圆周率、指数、对数等。

总结起来,数的产生是人类智慧的结晶,是为了更好地描述和理解世界。

从最初的手指计数到数学运算法则的发展,再到对时间和空间的观察和理解,数的产生经历了漫长的过程,并逐渐演化成为一种抽象和丰富的符号系统。

数给人类带来了巨大的便利和创造力,并成为了人类文明进步的基石之一。

【数的产生详解】(下)数的产生是人类智慧的结晶,它不仅存在于人的思维中,也存在于自然界中。

人们通过不断观察和研究自然界的规律,发现了一些重要的数学定理和模式,使得数的应用范围和重要性进一步扩大。

关于数的产生的资料

关于数的产生的资料

关于数的产生的资料数的产生是人类文明发展的必然结果。

数的产生可以追溯到古代的计数活动。

人们在生活中需要计数来解决实际问题,如统计人口数量、计算物品的数量等。

因此,人们开始使用手指、竹签、石块等物品进行计数。

这种计数方式被称为自然计数,是最早的数产生方式之一。

随着文明的进步,人们开始思考更大的数。

原始社会的人们发现自然界中存在很多数量巨大的事物,如星星的数量、沙粒的数量等。

为了表示这些庞大的数,人们开始发展了计数系统。

最早的计数系统是一种简单的加法系统,人们使用手指和物品进行计数,逐步发展出了基本的计数单位和计数规则。

古代文明的发展也推动了数的产生。

古埃及人使用简单的加法和乘法规则进行计数,他们发展了一种类似于我们现在使用的十进制计数系统。

古希腊人则开始研究数的本质和性质,他们提出了很多关于数的理论,如素数、完全数等。

这些理论为后来数学的发展奠定了基础。

在中国,古代的数产生也有着丰富的历史。

中国古代的数学家们对数的研究非常深入,他们发现了很多数的规律和特性。

中国古代的数学书籍《九章算术》中就记载了很多关于数的知识,如数的大小比较、数的运算等。

中国古代的数学家还提出了很多数的概念,如负数、零等。

随着时间的推移,数的产生也逐渐与科学和技术发展相结合。

在现代,数的产生已经不仅仅是为了解决实际问题,更多地成为了一种抽象的思维方式。

数学已经成为一门独立的学科,数的产生也成为了数学研究的核心内容之一。

数学家们通过研究数的性质和规律,发展出了许多重要的数学理论和方法,如微积分、线性代数等。

数的产生不仅在数学领域有重要意义,它也在其他领域产生了广泛的应用。

在物理学中,数的产生被用来描述自然界中的物理现象,如运动、力学等。

在经济学中,数的产生被用来研究经济现象,如市场供求、价格变动等。

在计算机科学中,数的产生被用来进行数据处理和计算,如编程、算法等。

数的产生是人类文明发展的必然结果。

从最早的自然计数到现代的数学研究,数的产生不仅解决了人们在生活中的实际问题,也推动了科学和技术的发展。

数的产生

数的产生

数的产生
在远古,人类认别事物的时候,不可避免的地要遇到数的问题.自己种群的数量,采集果实的数量,捕获猎物的数量等等,使他们逐渐产生数的概念.数的产生是人类思维开始的标志,数是人类特有的知识.
把形象变成数字进行思考和认识的时候,人类的抽象思想便开始了.变象为数,是人类开蒙发智的最初的一步,认识到象和数可以互相转换,使人类具备了能够认识世界的抽象能力.直到今天,人类进入了电脑化的时代,把图象转换成数字进行记录和转播,又把数字还原为图像,利用的仍然是人类最古老的知识,只不过人类运用象数转换的能力已今非昔比了.
自己的地里结了多少瓜?这是一个数学问题.数字就是从这种最基本的人类需要中产生出来的.
围成这样一个营寨,需要用多少木板呢?这就出现了一个计算问提.每一快木板都是非常具体的,但作为计算中的一个数,它又是抽象的.象与数便由此发生了转变.。

数的产生

数的产生

10个一亿是十亿, 10个十亿是一百亿, 10个百亿是一千亿。
个(一)、十、百、千、万……亿、 十亿、百亿、千亿都是计数单位。
一、判断:
1、最小的自然数是1。
(×)
2、没有比千亿更大的计数单位。(×)
3、0是自然数,也是整数。
(√)
4、十个一千万是十亿。
(×)
5、任意两个计数单位之间的进率都是十。
(×)
(6)所有的自然数都是整数。(√ )
(7)没有最大的整数。
(√ )
(8)一个11位的自然数,它的最高位在十
亿位上。
(× )

二、找钥匙。(连一连)
10个 百万
10个 十亿
10个 千万 10个 百亿
1000亿 1亿
100亿 1千万
义务教育教科书数学四年级上册
授课教师:韩老师
生活中哪些地方用到了数?自由说一说。 数究竟是怎么产生的呢?
用实物记数 刻道记数
结绳记数
古代记数法
这是我国挖掘出来的“甲骨文”上的 “数”字,这个字就源于结绳记事。
记数符号:数字
巴比伦数字: 中国数字: 罗马数字:Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ
罗马数 CCCLXV 365
中国数
各个地区的数字不同, 交流起来很不方便。
表示物体个数的0,1,2,3,4, 5,6,7,8,9,……都是自然数。
表示物体个数的0,1,2,3,4, 5,6,7,8,9,……都是自然数。
0 表示一个物体也没有。
0也是自然数。 所有的自然数都是整数。
最小的自然数是几? 有没有最大的自然数? 自然数有多少个? 每相邻两个自然数相差几?

数的产生 (PPT课件)

数的产生 (PPT课件)
数的产生
数的产生
同学们,我们已经学习了3年的数学,掌握了很多数学知识,对数 的认识也有了一定的理解。那么这些数究竟是怎么产生的呢?今天我 们就一起来了解一下数的产生过程。 1、古代的计数方法。
问题:古时候,人们在生产劳动中,逐渐有了计数的需要。你知 道他们是用什么方法计数的吗?
数的产生 (1)用实物记数。
数的产生 (3)刻道记数。
除了“用实物记数”和“结 绳记数”这两种办法外,远古时 代的人们还采用“刻道记数”的 方法来进行计数。利用利器在石 头或木头上刻下痕迹来计算捕获 的鱼的条数,每道痕迹都代表一 条鱼。
数的产生
2、记数符号。
然而,随着生产力的提高,这几种方法无法满足人们的计数需求 ,在计数的过程中存在很大的不便。后来,随着语言和文字的发展, 人们发明了一些记数符号,这些记数符号就叫做数字。例如: 巴比伦数字:
课堂总结
问题:通过这节课的学习,你有哪些收获? (1)表示物体个数的1、2、3、4、5、6、7、8、9、10、11,…都是 自然数; (2)一个物体也没有,用0表示,0也是自然数,所有的自然数都是整 数; (3)最小的自然数是0,没有最大的自然数,自然数的个数是无限的。
谢谢
、2、3、4、5、6、7、8、9、10、11,…都是自然数。 问题:0是不是自然数呢?
一个物体也没有,用0表示,0也是自然数。 所有的自然数都是整数。 最小的自然数是0,没有最大的自然数,自然数的个数是无限的。
巩固练习
填空。
(1)最小的自然数是( 0 ),没有最大的自然数,自然数的个 数是( 无限的 ); (2)表示物体个数的1、2、3、4、5、6、7、8、9、10、11, …都是( 自然数 ); (3)一个物体也没有,用( 0 )表示,0也是自然数,所有的 ( 自然数 )都是整数。

产生数

产生数

练习:产生数[问题描述]:给出一个整数n(n<10^30)和k个变换规则(k<=15)。

规则:1个数字可以变换成另一个数字规则的右部不能为零。

问题:给出一个整数n和k个规则求出:经过任意次的变换(0次或多次),能产生出多少个不同的整数。

[问题分析]:认真分析题目之后发现,本题搜索显然是不行的,而且对于只需计数而不需求具体方案的题目,一般都不会用搜索解决,其实本题不难看出,可以用乘法原理直接进行计数,用Fi表示数字i包括本身可以变成的数字总个数(这里的变成可以是直接变成也可以是间接变成,比如3->5,5->7,那么3->7),那么对于一个数a(用数组存,长度为n),根据乘法原理它能产生出F[a[1]]*F[a[2]]*F[a[3]]*…F[a[n]]个不同整数,相信这一点大家不难理解。

那么现在的关键就是如何求Fi,由于这些变换规则都是反应的数字与数字之间的关系,这很容易让我们想到用图来表示这种关系:1:建立一个有向图G,初始化g[i, j] ← False2:如果数字i能直接变成数字j,那么g[i, j] ← True容易知如果数字i能变成数字j,那么i到j必须存在路径,否则i是不可能变成j的,这样一来,Fi的求解就显得非常简单了,求一个顶点v包括本身能到达的顶点数的方法相当多,可以用BFS,DFS,Dijkstra,Floyd,这里介绍一种类似Floyd的有向图的传递闭包算法,该算法实现简单,在解决这类问题时比Floyd效率更高,所谓有向图的传递闭包就是指可达性矩阵A=[a[i, j]],其中a[i, j] = True 从i到j存在通路a[i, j] = False 从i到j不存在通路所以有向图传递闭包算法只需将floyd算法中的算术运算符操作‘+’用相应的逻辑运算符‘and’和’or’代替就可以了,其算法如下:for k ← 1 to n dofor i ← 1 to n dofor j ← 1 to n doa[i, j] = a[i, j] or (a[i, k] and a[k, j])最后值得注意的是当n很大时输出可能会超过Comp类型的范围,所以要使用高精度乘法,由于高精度算法是信息学竞赛中的基础,这里就不在详述。

数的产生的小知识

数的产生的小知识

数的产生的小知识嘿,朋友们!今天咱来聊聊数的产生这档子事儿。

你说这数啊,那可真是太神奇啦!咱每天的生活都离不开它呢。

想象一下,要是没有数,这世界得乱成啥样啊!你去买东西不知道该给人家多少钱,人家找你钱你也不知道对不对,那可不得抓瞎呀!数的产生那可是有着漫长的历史呢。

就好像人类从啥也不懂的小娃娃慢慢长大变成有智慧的大人一样。

最开始的时候,远古的人们可能就是用手指头来数数,一个手指头、两个手指头,嘿,这就是最原始的计数方法呀。

这就跟咱小时候数糖果似的,多直观呀!后来呢,人们发现手指头不够用啦,那咋办呢?聪明的他们就想到了用其他的东西来帮忙记数呀。

比如用小石子,摆一个石子就代表一个东西,这多有意思!这就好像搭积木一样,一块一块的往上堆,数也就越来越多啦。

再往后,随着人们的生活越来越丰富,要数的东西也越来越多啦,光靠小石子可不行喽。

于是各种记数的方法就出现啦。

像什么结绳记事,在绳子上打个结就代表一件事儿,这得多有创意呀!而且数这东西可不只是用来数数这么简单哦。

它还能帮我们衡量很多东西呢。

比如说长度呀、重量呀、时间呀等等。

没有数,咱怎么知道这根绳子有多长,这个苹果有多重,过了多久时间呢?这就好比是我们走路的拐杖,没有它,咱都不知道该往哪儿走啦!你看,数学老师在课堂上教我们的那些数字、算式,那可都是经过了千百年的发展才变成现在这样的呀。

这就像是一棵大树,从小小的种子开始,慢慢生根发芽,长成参天大树。

咱现在的生活中,数简直无处不在呀!买东西要算钱,做工程要计算数据,就连玩个游戏都得算数呢。

数就像我们的好朋友,一直陪着我们,帮着我们解决各种问题。

所以呀,可别小瞧了数的产生哦!它可是我们人类智慧的结晶呢!没有它,我们的生活哪能这么井井有条呀!咱得好好珍惜这个神奇的东西,好好利用它,让我们的生活变得更加美好呀!这数的产生,是不是特别有意思呀?。

(四下)数的产生

(四下)数的产生

《数的产生》数学源于生活,数学植根于生活,生活中处处有数学大家好,今天给大家分享一个《数的产生》。

每天和我们息息相关的“数”是怎么产生的呢?听听这个仓库管理员的故事,你就会明白了。

在很早很早以前的原始社会,有一个小部落,这个部落以打猎为生,首领是一个非常聪明的人,很快他带领的部落打的猎物越来越多,不仅能吃饱,还能有很多剩余。

于是,这个首领就建立了一个仓库,专门存放多余的猎物。

并给这个仓库安排了一个专人看管,这个人就成了这个部落的“仓库管理员”。

有一天,这个首领来到这个“仓库管理员”面前问:“我们的仓库最近存放了多少猎物啊?”仓库管理员一听,马上回答:“首领,您稍等,我去数数。

”于是,他就转回仓库一只一只的数着猎物。

最后,满头大汗的对首领说:“一共25只。

”首领满意的走了,仓库管理员却陷入了沉思:这样数起来太累、太麻烦了,有没有更好的方法呢?经过他认真的思考,终于想出了个好办法。

等第二次首领又来问他猎物的数量时,他拿出了一包石子,数了数石子的数量告诉了首领。

你知道为什么么?对,没放进去一只猎物,他就放一颗石子给袋子里。

石子的数量和猎物的数量正好相等。

这样,数石子可比数猎物轻松多了。

后来,人们还有绳子打结计数,用小刀刻道计数。

再后来,人们发明了一些计数符号,这些计数符号就叫做数字。

这是古代各个国家的不同数字写法,由于各个地区的数字不同,交流起来很不方便。

经过很长时间,才逐渐统一成现在这样通用的阿拉伯数字。

阿拉伯数字其实是古印度人发明的,它们还发明了数学上重要的十进制从公元前2500到公元前1750年的哈拉帕文化时期开始,古印度人就采用十进制计数法。

他们先是发明了1—9这九个数字符号和定位计数法,后又提出了零的理论和作为演算基点的十进制。

印度人之所以按“逢十进一”的规则进行运算,大概是因为当时他们用10个手指辅助计数。

有了十进制,0至9这十个数字就可以表示无数个数了。

当然,我们的进制不仅仅只有十进制,还有二进制、十六进制等等。

数的产生与发展

数的产生与发展

数的产生与‎发展一、引言当数学作为‎人类文化的‎重要组成部‎分、人类社会进‎步的产物以‎及推动社会‎发展的动力‎,作为其主要‎因素的数的‎发明及它的‎持续发展为‎其现在相对‎完善的数学‎演绎做出了‎卓越贡献。

而平时我们‎能时刻感受‎到数的存在‎,能用到很多‎数,甚至除了课‎堂以外,我们还知道‎一些关于数‎的历史、发展过程及‎现状。

又人类作为‎动物的一种‎,从最初完全‎没有数量的‎概念到现在‎对客观世界‎达到的理性‎而又抽象的‎认识过程伴‎随了数的概‎念的产生与‎发展。

之后又随着‎人类对记事‎与未知世界‎的探索而使‎数的到了更‎深入、更广泛的发‎展。

本文将分别‎通过数的产‎生、发展、数系的分类‎、数在历史长‎河中所做的‎贡献以及其‎未来探索几‎方面对数的‎产生与发展‎进行探讨。

二、数最初的产‎生与应用对于数的产‎生时间和地‎域,人们并没有‎具体而又准‎确的定论,因为早在文‎字产生以前‎就已经产生‎了数。

但也不难想‎象它是怎样‎发生的,毕竟有研究‎表明有些动‎物,尤其像人类‎的原型类人‎猿这样相对‎高级的动物‎具有在为数‎不多的事物‎中能辨认相‎对增加或减‎少的多少,所以数的概‎念是从实践‎中产生和发‎展起来的。

在人类社会‎最早期,人们在狩猎‎、采集果实等‎劳动中就根‎据现实的需‎要而产生了‎简单的用1‎、2、3、4等等数字‎表示物品的‎多少,甚至还用0‎来表示没有‎这一概念。

这就是最早‎的计数方法‎,也就是所谓‎的简单算筹‎。

三、数的发展数的发展又‎可以根据其‎在教学中教‎的逻辑顺序‎也就是数域‎的扩充过程‎和数方向上‎的历史等方‎面来讲述。

首先在逻辑‎顺序上,就像上面讲‎到的从原始‎社会的0、1、2、3、4等等这样‎的简单算筹‎法中运用的‎数字,我们把它们‎称为自然数‎,通常用N表‎示。

对于自然数‎的定义是用‎以计量事物‎的件数或表‎示事物次序‎的数,其有最小数‎为0,却没有最大‎数,即其个数是‎无限的,而又可以根‎据它的作用‎分为分别表‎示数量多少‎的基数与表‎示次序的序‎数两种。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

产生数
[问题描述]:
给出一个整数n(n<10^30)和k个变换规则(k<=15)。

规则:
1个数字可以变换成另一个数字
规则的右部不能为零。

问题:
给出一个整数n和k个规则
求出:
经过任意次的变换(0次或多次),能产生出多少个不同的整数。

[问题分析]:
认真分析题目之后发现,本题搜索显然是不行的,而且对于只需计数而不需求具体方案的题目,一般都不会用搜索解决,其实本题不难看出,可以用乘法原理直接进行计数,用Fi表示数字i包括本身可以变成的数字总个数(这里的变成可以是直接变成也可以是间接变成,比如3->5,5->7,那么3->7),那么对于一个数a(用数组存,长度为n),根据乘法原理它能产生出F[a[1]]*F[a[2]]*F[a[3]]*…F[a[n]]个不同整数,相信这一点大家不难理解。

那么现在的关键就是如何求Fi,由于这些变换规则都是反应的数字与数字之间的关系,这很容易让我们想到用图来表示这种关系:
1:建立一个有向图G,初始化g[i, j] ← False
2:如果数字i能直接变成数字j,那么g[i, j] ← True
容易知如果数字i能变成数字j,那么i到j必须存在路径,否则i是不可能变成j的,这样一来,Fi的求解就显得非常简单了,求一个顶点v包括本身能到达的顶点数的方法相当多,可以用BFS,DFS,Dijkstra,Floyd,这里介绍一种类似Floyd的有向图的传递闭包算法,该算法实现简单,在解决这类问题时比Floyd效率更高,所谓有向图的传递闭包就是指可达性矩阵A=[a[i, j]],其中
a[i, j] = True 从i到j存在通路
a[i, j] = False 从i到j不存在通路
所以有向图传递闭包算法只需将floyd算法中的算术运算符操作‘+’用相应的逻辑运算符‘and’和’or’代替就可以了,其算法如下:
for k ← 1 to n do
for i ← 1 to n do
for j ← 1 to n do
a[i, j] = a[i, j] or (a[i, k] and a[k, j])
最后值得注意的是当n很大时输出可能会超过Comp类型的范围,所以要使用高精度乘法,由于高精度算法是信息学竞赛中的基础,这里就不在详述。

相关文档
最新文档