00:00
再看刚才说的一个练习啊,还是一零,我们这个这个for的一个练习,这个练习呢,我们先把这个题给它粘过来,Script的标签,然后这写一个啊,那你干嘛呢?从在页面中接收一个用户输入的数字啊,并判断该数字是否是质数,下边说的是这个质数的一个规则,那还是啊,就这点东西吧。怎么着啊,是不是还是把一个大的问题换成小的问题,然后一个一个去解决呀,哎一个一个来,别着急啊,首先第一个让你在页面接收一个用户数字,那这没的说了,肯定是一个这个等个是吧,来我们这来说一个请入一个这个,诶大于一的这个整数啊,或者叫自然数都行啊,大于一的整数我们写这么一个,他是不是让让他去输入啊,哎,然后呢,我们来一个alert alert一个这个number,然后一保存CTRL1运行,这是要输一个十,是不是就获取到十了,诶然后这输出一个这个一是不就一了呀,好,那这里边呢,我们最好再对它这个值的一个合法性做一个什么呀判断啊判断这个什么呢?哎,判断这个值哎诶是否合法啊,是否合法,那怎么判断呀,直接来一个什么呢?If,我们这个我们先来。
01:26
开什么呢?Number如果是小于一,小于一,我们说什么呢?Alert,诶,来一个这个该值不合法啊,该值不合法,写这么一个,然后你可以再写一个else if来个number,哎,或者你直接什么呀,小于等于一也行是吧?诶小于等于一,小于等于一呢,我们都不管它都算是不合法,因为一它既不是质数,也不是什么呀,也不是合数,对吧?然后else,我们是不是在判断呀?哎,在这我们来干嘛呢?我们来判断我们这个number是否是质数啊,是否是质数,那问题来了,到这儿我们说了,我们所有的会的工作都在这儿完成了,那接下来的工作我们就要干嘛呀,判断这个number是否是质数了,那这工作我们要怎么完成啊,现在让你判断number是否是质数,你感觉还有点儿有点难度是吧,所以这块你要注意啊,你这种抽象问题你整不出来的,你先把这个问题给他干嘛呀,具体化让你判断number是否是质数,你不会问你判断三是否是质数,怎么判断。
02:26
诶,我说要看个三,除了一和它本身有没有其他数能把它整除吧,那其实我只需要看谁呀,我是不是只需要看二啊,我用不用看四啊,用用看五啊,比它大的数我是不是都不用看呀,只需要看的比它小的数,也就是说我要看的是一和它本身之间的数啊,哎,之间的数啊,所以注意我们要干嘛呀,我们要获取什么呀?诶,一到number是不是之间的这个数啊,哎,一到number之间的数,所以如果我要判断三的话,我只需要判断什么呀,三能不能被二整除,如果三能被二整除,那证明三是质数,那三能不能被二整除,不能,那三是不是就不是整数质数?哎,那我们说了,如果是四,我要判断谁?
03:09
哎,我要判断二还有三吧,哎,那四能被二整除,四是不是就是质数了?哎,不是不是质数了,哎,不质数了啊,那如果我要判断五,我得判断谁,我是不是得看234 234,五不能被二整除,不能被三整除,不能被四整除,那它是不是就是一个质数啊,所以我要判断它是否质数,对于五来说,我就获取到234,对于三来说,我就获取到二,对于四来说,我是不是就获取到二三呀,那是不是就是一到。之间的数,或者其实应该是二到number之间的数吧,哎,二到number之间也就是说我不包括一不包括number是它们之间的数啊之间的数,那这一块我要获取他们之间的数,那怎么获取。咱们写二的number吧,那我怎么获取第三简单三是不是就一个二啊,但是你不能就光写二,因为我们不光对付三,我们还有其他数啊,那怎么办呀,我们是不是要这数有几个,是不是只有一个,是不是有个呀?哎,多个,所以这里边既然是多个,我们是不是写一个负循环呀?哎,来一个这来一个Y,一个ii从几开始啊,诶从二开始,因为是二到number之间嘛,然后来一个I小于谁呀,小于number能不能等于number,诶是不包括一和它本身呀,哎,然后再来一个这个,哎加加,那这个,现在我这个I是不是就是我们这个什么呀。
04:32
这个二到number之间的数吧,诶来我这来一个cancel.log一个,哎,然后保存我们这来看效果,这块打开控制台还转着呢,我一刷新,然后我这输一个输一个三,输131取是不是就取出一二来,哎然后我这刷新输出一个四,是不是就取出一个二三来呀,输出一个十,取出一个23456789,对吧?诶也就是说现在我把除了一和它本身那个数是不是都给它获取到了,诶也就是谁呀,是不是就是接是不就是I呀,所以接下来我们要判断什么,哎,我们要判断我们这个什么呢?这个number是否能,哎能被我们这个I整除吧,哎,整除我们来写一个,那我直接怎么判断number是否能被I整除啊?比就说如果number摩以I等于零,是不是证明它能被I整除?哎,所以我来说一个if什么呢?Number摩也。
05:32
哎,摩以I叫做不等于零,那证明什么?是不是证明我们这个number不能被I整除啊,哎,那我这么写,我们说了,我要问你了,如果number不能被I整除,能不能证明我number是质数,能吗?能不能,假如说是我有个九九,我除以二二是不是就可能是I啊,九能不能被二整除啊,不能,那能不能说明九是质数,不能吧,为什么呀,因为I是不是你不能被整除,你是不是只能不被当前这个I整除啊,我是不是是不是有很多个呀,所以注意你不能被这个I整除,不能说明你number是一个质数,你得干嘛呀,你得不能被所有的I整除,才能说明你number是个质数了吧?哎我哎,如果是2345,你得干嘛呀,不能背二整除,不能背三整除,不能背四整除,不能被五整除,都不能被整除,才能说明你是质数吧,所以一个能不能说明你是质数不能,哎哟,那这块就有难度了。
06:36
那这样不能说明它是质数,那我一想,我们逆向思维一下行不行?诶,我们来一个,如果number摩EI等于零,是不是证明number能被I整除啊,哎,那我们说这么一句话,我们说了如果number能被我们这个I整除,则说明我们这个number一定不是质数。
07:05
对吗?对不?哎如果说它,哎如果我们知道了它不是质数了,我们是不是就能判断它是不是质数了,哎,它不是质数就是质数了是吧?哎这么一个哎能听懂吧,哎所以现在我们已经能判断出它不是质数了吧,哎不是质数了,那问题又来了,那我们知道它不是质数,那我就可以说出一个,我写一个什么呢?我可以在这alert一个写一个什么呢?写一个我们这个number加上一个什么呀,不是质数,然后一保存,咱们看效果啊,咱们来看我这一刷新,我先输出一什么呢?输出一个11保存,诶干嘛了。十不是质数对吧?哎,十不是质数,然后我这边一刷新来一个什么呢?来一个20是不是20不是质数,他已经能看出20不是质数了,但是我们现在干嘛呀,我不想看它是不是质数,我希望什么呀?如果是质数你在干嘛呀?
08:02
你是不是在告诉我啊,如果是质数,你再告诉我不是质数,咱们就不管它,那在这儿就不行了,那怎么办呢?那我得在什么呀?首先我这个输出我是不是应该在负循环外边输出啊,因为我只需要输出一次吧,我们说了如果什么呢?如果我们这个number不是质数,则什么呢?则诶不是啊,说反了,如果number是质数则什么呢?输出,如果number是质数,我在这儿来什么呢?Alert一个叫做什么呢?Number加上一个是质数,我是不是输出这么一句话呀?哎,但是问题来了,这个他知不知道number是质数?在这是不是不知道啊,那这怎么办呀,在哪知道,在这他也不知道,他只能知道他不是指数,他不能知道他是指数对吧,那怎么办呢。那怎么办呢?来看这,我在这在外边,在我这个if的最外边,或者你在else的创建也行啊,在else创建也行,在哪都行,在这儿我来干嘛呢?我来创建一个这个变量来干嘛呢?来保存当前的什么呀?状态,当前这个数的一个什么呀,状态,直接来一个Y,一个变量叫什么呢?就叫一个flag,等于什么呢?等于一个处啊,等于个处,为什么等于true呢?我们默认当前的这个number是质数啊,我说它是true,默认当前number是质数,然后呢,我在这输出的时候,我就可以判断了,怎么判断呀,If flag,如果flag为true,是不是证明它是质数啊,如果是质数我就干嘛呢?我就输出,这能看懂吗?但是这么写它对不对啊。
09:46
我这么一写,Flag是不是横为处啊?横为处是不是就永远输出啊?那问题来了,我能不能让这个flag永远是处,不能,什么时候让它为false,如果它不是质数的时候,我是不是把它设成呀?那问题来了,什么时候它就不是质数了?是不是一旦进入我这个判断就说明它不是质数了,不是指数怎么办?来我们这干嘛呢?设置我们这个flag尾错来直接来一个flag等于个false,这样能看懂吗?
10:23
这样能看懂吗?诶咱们来读一下啊,读一下首先一进来以后,我们获取到用户输出一个number,我们在这儿呢,设置一个变量叫做flag flag相当于什么呀?叫旗帜的意思啊,叫旗帜的意思flag我设置什么呢?是处为什么设置为true呢?我要默认什么呢?当前的number是质数啊,是质数,然后在这个负循环里,把当前这个数可能的因数是不是都给它取出来呀,然后分别去让它们相除,如果可如果不能整除啊,如果number永远不能被爱整除,那问你会不会进入这个判断。不会,不会进入这个判断,这flag的值会不会变,不会变,不会变是不是就一直为true啊,好,一直为触这1IF flag是不是就输出了?好,如果有一个I能把number整除了。
11:15
那干嘛了,是不是就进入判断呀,进入判断就证明我们这个number不是质数,它是不是将这个flag设置为false呀,设置为force了,这还会不会输出了,是不是就不会输出了,哎,就不会输出了啊我们来看效果行不行,我这一保存,我们这刷刷新一下来我这输出一个啊输出一什么呢?输出一个二确定诶二是指数对吧,来再刷新来什么呢?三。三是不是也是质数啊来,我确定来一个这个刷新,来一个这个十是不是没反应啊,为什么没反应啊,是不是十不是质数啊,来或者你来什么呀,你再来一个else else乐的诶这个不是质数就直接写了啊,我一保存这一刷新走你我来一个十走你是不是这个不是数,哎,我来一个什么呢?还有谁呀,97是不是这数。
12:10
确学是不是是这时候,哎是就是通过这种方式是不是就可以去判断了,哎,这里边主要的一个概念我们干嘛呢?我们需要采用一个什么呀,中间量,哎,需要采用一个旗帜,这个旗帜来干嘛呢?用来标识我们当前这个数到底是不是质数,默认我们认为是什么呀,认为是质数啊,默认我们认为是质数什么时候就改了,当我们发现它能被一个数整除的时候,我是不是就改了呀,这样在外边就可以看到说它是不是质数啊,所以注意这个是我们说这么一个练习啊,来判断一个数是不是质数,这个看懂了吗?你们先停一下啊,知道你们。
我来说两句