00:00
好,那么下边呢,咱们来看看这个图哈,这个你发现的这个图越好看呢,它这个难度就越大一些是吧。哎,就跟这个女生也是一样,你看的好看的,别人也觉得好看是吧。追起来就难一些啊,即使追到的话呢,心里边儿其实还是不放心是吧。啊。来你看这个怎么做啊,首先呢,从大方向来讲的话呢,这个呢星越来越多,这个星越来越少啊,跟我们刚才说的这个一样啊,它显然呢不是一个等式这种刻画的关系了,所以呢,你自然而然的先考虑把它分成两部分。哎,这个呢,越来越多是一种规律啊,越来越少是一种规律好了。完事了啊,然后接下来。接下来的话呢,你发现它这个星,它这个特点呢,不是像我们这样啊,他一开始是对齐的,对齐的我们上来就直接考虑这个星就完了。然后这块你发现它前面是有空格的,这个空格的话呢,其实你看见的是好像是啥也没有,其实它明明就是有空格,那这个空格呢,我们其实也有必要把它给刻画一下。
01:00
1234行。一二。没了。啊没了啊行,那么其实这里边儿的话呢,我说呀,诶如果看看成这叫外层循环了啊,这是一次两次三次四次五次是吧,那么这个外层循环呢,是执行了五次。OK,咱们先不管它啊,那这个咱们先来考虑,这个叫上半部分啊,我就先写出来。For循环一个I呢等于1I呢小于等于。五嘛是吧,安娜佳佳。行,然后这个呢,来刻画的就是我们这儿一共是五行嘛,外层控制行数哈,好,下边我们来看一下这个内层,说内层的控制列数,这个题目难就难在哪,它其实内层啊,我说呀,相当于有两个for循环。一个负二循环呢,刻画的是这个,咱们现在叫短横线吧。哎,另外一个for循环刻画的是这个星,哎,对,如果你要把这个事儿呢,能够看透的话呢,这个题目呢,下边就容易突破了。
02:05
所以说呢,我们怎么做呢,就是你在某一行的情况下呢,你看这一行有几个短横线,紧接着的话呢,你后边再把这几个星补上,哎,爱加加啊,下一行啊,有几个短航线,下一行有几个行,诶不就是这样的一个思路吗?所以它比上边这个题目难,是因为上边这个外层的里边呢,只有一个for,而我们下边呢,是有两个,哎,上下并列关系的for。好,那下边这个问题呢,就归结在我们写个for啊,这个接啊,我们也让他从一开始这个条件是很重要的,然后接呢,也是加加。诶,这呢是来刻画这个短横线的,哎,然后再紧接着我们再去写一个这个。哎,都叫接没事儿是吧。对,叫K也行,我就叫J是不是也行。对,这不你出了这个大括号了嘛,是吧,哎,所以这个呢,来刻画这个星好关键这个点呢,就是看这个关系式啊。啊,这个里边你就直接让他去。
03:01
哎,里边这都好写。哎,这个咱们就先写成短横线吧,哎,然后下边呢,就是这个星。嗯,改成这个星就行,相当于呢,就是你啊这一行当中先打印几个短航线,紧接着打印几个星,然后最后呢,再换一下行。诶在这呢,诶换一个行,诶画完完以后呢,你接着I加加啊开始下一行,诶这就妥了,好,那么这个关系式怎么找呢?咱们还是用笨一点方法,跟上面这个一样啊,这个I啊,咱们就还这么着啊。这个I的话呢,它来括画是第一行这个接,哎哟这个我就要接了。那这个呢,那咱们改一下吧。叫K吧。这样啊好,这叫K,这样我方便呢,在这儿去说这个呢,它是每一行中这个短横线的个数,然后K。哎,每一行当中这个星的个数。
04:02
这样行,这哪都好写啊,一。三。四。五是吧,好看这儿啊。唉呀,这个。我我我重删一下啊。嗯,这个这个12345678是吧,好,我这八个。这是六个了,嗯。你看这个明显的关系式呢,比上面的要难一点,四个。两个。零个。好,这个呢,先别着急啊,先把这个也写出来K。一。三。对,五。七。九。好了啊,这个这个都是小事,关键就是关心试这这咋刻画呀。啊,随着I的增加。
05:00
这个呢,每次少俩是吧。嗯,怎么着?对,跟二有关,那二乘以I再加上一个阶就是。十。说你怎么一下看出来的,这个就就是看出来了。对,这个呢,其实它不就像一个线性的一个。线性的表达式嘛,是吧,那你就用线性表达式这个对对得刻画一下就行哈,你看这个时候呢,我们这个每当这个I呢,你看增加一个数。这个呢,就减少俩数是吧。所以我这就是二倍的关系啦,然后呢,加上这个阶,嗯,测试一下,这个是一,这是一,这个是八,这就十,然后呢,当它变成二的时候,这就是四了,这个呢正好呢。呃,少俩的是吧。呃,然后呢,这个还是使这个这就是它啊,哎,这个要得出来以后的话呢,进而。对,你这个接的话。哎,它不就等于这个十减去二乘以这个A吗。
06:04
那这就出来了,行,然后呢,我们来看这个接啊这接我写这儿吧。哎,这是一,这是一,这二的话呢,这是三,这是三的话呢,这个是五,这怎么着。呃,随着I的增加,它呢,这块每次增长俩是吧。嗯,那是K,直接就等于吧。二乘以I。减个一是吧,诶OK啊行,当这个是一的时候呢,这是二二减一是一,然后这个变成二到四四减一三,以此类推。好,那么这个关系式呢,就出来了,好,这个关系式呢,你就把它直接CTRLC。这道题的话呢,其实你要说难的话呢,呃,这块算是到难的这个地儿了。嗯,然后这个呢,K呢小于等于。这个事儿。哎,把它呢,再往这一搁,哎,这就行了。哎,你说我在细微的体会一下,那也行哈,诶当是一的时候呢,这个是一,这个是八是吧,所以这就八个短横线,哎,然后呢,A加加啊I变成二的时候呢,这就变成六个了。
07:09
这不就符合我们的题目要求了?行,这个短横线没问题,这个星的话呢,其实它后边有个空格。是吧,所以这块你新来一个空格,哎,一个小细一点,你说我忘了忘了,咱先看一下效果啊。来编译。激动人心的时刻啊。成不成就看这一下了。不太好看是吧,哎,这个呢,是因为少个空格哈,把空格给它补上。你看这时候呢,你看正好好像是像一个矩形了哈。这样啊。然后呢,先编译呃运行诶这不效果就出来了吗?然后这个导航线呢,你这时候你把它换成空格不就完了吗。好,上半部分就出来了,上半分要出来的话呢,下半部分呢,同样的道理啊,你也叫IJK去找他们的关系式就行,这个我就不整了,咱们这个课件里边呢,我这块有上半部分,下半部分我这个都写着呢。哎,这个呢,你可以把这个再粘过去体会一下就行,哎,就OK了啊行诶稍微小结一下,这道题目的话呢,诶不强制要求大家去做了。
08:09
这纯粹呢,就是一个小算法的一个题目。诶,那么大家呢,关于这个嵌套循环的使用的话,这呢,我们又用while啊,都用的for,这个循环使用的话呢,这个题目,这个题目建议呢,你看一看,通过这两个,包括我们上面诶更简单一点的这个大家去体会这几个事儿。啊,就是主要呢,就是这里边儿的这两句话,外层控制行,内层控制列。诶,然后呢,这个外层M4内层N次一共执行次数,诶把这个事儿呢,能够理解这个这个还有这个啊会写就可以了,这个呢,根据个人情况,你说我这个题目呢,呃,上面这个会写,这个就是不会写,其实就是可能集中在这个位置,不太会处理。我建议呢,时间有限,你就不要去研究这道题了。哎,你要是什么都想抓,最终结果呢,就什么也抓不住。啊,这不是,原来采访一个男生说,嗯,这个你喜欢什么样的女生呢?说都可以是吧。
09:04
啊,这个觉得哪个女生对他好像都有点儿意思一样,那这这样的肯定没没女朋友是吧,啊就是你得明确的啊,说喜欢某一个类型的是吧。才行啊,诶这个呢也是一样,你哪个都想整,最后呢,你可能哪个都抓不住,这个呢,就纯粹看成一个算法题,不会不会就把它放掉。啊,你这个不会的话呢,影响的也只是这道题不会,你要是上边这个呢,不会呢,有可能一系列的都不太会。啊,这个分清楚这个轻重缓急啊。行,那么菱形完了以后呢,我们这块还有一个课后练习题叫集合乘法表,这个呢,建议大家呢都写一写。嗯。来CTRLC这个结合乘法表呢,咱们在小学的时候呢,都背过。哎,都背过。那这块呢,我们直接呢,在控制台呢,希望它打印这样的一个效果,诶我就叫做这个na na的一个table吧。
10:02
哎,收起来收起来。这么着啊。哎,这个呢,是我们的一个练习,哎,九九乘法表。好,那么如果呢,你把这个九九乘法表里边这个每一个式子啊,看成是个星。这不就是我们刚才做过的那个效果了吗?第一行一个,第二行俩,第三行仨,呃,以此类推,第九行的九个。那现代化只不过它不是一个星了,哎,用一个具体的式子来刻画的,诶那么正好呢,我们这个因子,哎,可以考虑用我们这个,哎外层循环和内层循环这个I和接呢,正好可以使用一下,诶挺好。哎,看看怎么处理啊。呃,大方向上来讲的话呢,跟我们刚才说的一样啊,外层控制行,内层控制列。好,首先来一个for。I呢是一,I呢小于等于九行。哎,佳佳。哎,好里边啊,哎,这还是一个for in一个接呢,哎,这是控制列的啊,哎,我们也让它是一吧,哎接这块呢,得考虑一下。
11:03
谢佳佳。哎,这么着好,呃,那么刚才呢,我们其实已经做过类似的这道题了哈,第一行是一个,第二行俩,第三行仨,其实这块呢,就正好是。小等压就行。对啊,那你比如说第一行这个呢,是接从一开始接小等于一,这不就一个吗。呃,然后呢,第二行的话呢,72了,这积小等于二正好两。哎,就行好,呃,问题呢,就是现在呢,我们打印的不是一个星了。哎,如果他打印个星,那这个事儿就省事了。啊,那保存一下先,哦,这个我们保存了啊,先CTRLCCTRLSCTRLV保存一下。稍微呢,来看一下效果。那哦对,忘了写换行了是吧。诶,table.java。行,我先跑一下吧。
12:00
哎,这样是吧,全成这样了啊这个位置呢,不要换行。在这儿换行。诶,这个大家来珍惜一下,我们写这个学校的这个时间了,不多了,已经是吧,呃,进入倒计时了都啊,我们在第二当中呢,像这个这写起来,哎呀,这太痛苦了啊,直接一个。是吧,对快捷键哈一下就生成了。其实最痛苦的还不是说呢。大家现在写最痛苦的是,当你已经习惯上不写的时候呢,突然又让你写,就像我一样,是吧?是特别痛苦的结果呢,你小时候你可能在农村生活,你觉得挺快乐的是吧,当你去了大城市以后呢,你再回去的时候,你就受不了了是吧。哎,就是不可逆的啊。现在你写的时候,你发现也挺嗨是吧。因为你还没写更简单的呢啊。好,来编译一下来运行,哎这个效果出来了,但是这时候呢,我们打印的不是星啊,你把它换掉,哎正好呢,你发现呢,这里边艾和接呢,哎就可以来充当我们的因子了。
13:03
对啊,其实这呢提示的也很明显了啊,随便呢,你找一行,比如说就这一行吧。这个六。相当于是。正好行数是吧,诶就是这个I啊接呢。就是这个列数是吧,哎哎呃不不这个这一呢是吧,哎二呢就是相当列数就是阶诶它俩就正好这一一刻画就完了。所以这时候就是I。哎,这个你悠着点啊,我们这个是连接符号。哎,乘以一个是吧。来接。然后呢,再连接上一个等号。再来一个,哎。乘以G。哎,这个稍微这样连接一下。哎,这个优先级呢,你要担心,你就给它括起来。嗯,好保存一下啊,这呢,其实它的优先级要高一些。不扩呢,也没事儿啊。就出来了啊,有点难看是吧,哎,这呢,中间得有一个间隙哈。
14:00
哎,这个呢,我们来一个比如说制表符吧,哎,比空格呢,稍微的多几个的啊。来编译来运行,哎,这个效果呢,看就出来了。那就这样就行,那你要觉得前面这个呢,又有点挤,你就在这儿,你再加一个。空格这样。也行。这我看能不能放到一行呢,差点意思了是吧。还得拽。还得哟。啊,这这这抓到头了是吧,对这个呢,就是纯粹这个框的这个事儿啊。嗯,行,那要不你就给他再收回去。哎,这样就行。好,那如果让你打印一个不是九九乘法表的,是这个,比如说20 20乘法表。一样就把这个改一改就行是吧。哎,就可以了。行举手乘法表啊,这个呢,大家呢,下来可以写一写,OK,好,那么这样的话呢,咱们关于这个嵌套循环呢,就算是告一段落了。诶大家下来的话呢,一个呢把它练一练,另外呢,就是我们以后在诶开发当中啊,循环里边套循环啊是有可能出现的,一般呢要套也就两层啊三层呢都很少写极少写啊哎没有超过三层的。
15:12
啊,超过三层,你想想,如果外层呢是N,里边呢也是N,两层呢就是N方了。这个N方的效率呢,其实也。差不多了啊,你要是来一个再乘N的N的立方,这个呃,复杂度的话呢,已经算是比较差了,你说再来了一层N的这个,呃,四四次方是吧,这个性能就已经很差了,所以呢,即使你要说这个题目用它能解决,一般呢,你要再重新整合一下,有可能能改正它,甚至比它还好。呃的一个复杂度,OK啊。
我来说两句