Scratch算法训练
1、列表逆序
标题问题:将一个列表数据逆序,如[一、二、三、四、五、六、七、八、九、10]逆序后[十、九、八、七、六、五、四、三、二、1]。
阐发:将列表数据先后对于称举行互换,即第一项与末了一项互换,第二项与倒数第二项互换,以此类推,统共互换列表项数/2次。
如题,列表统共有n=10项,第1项与第10项互换,第2项与第9项互换,第3项与第8项互换……总结纪律为:反复履行,将第i项与第n+1-i项互换,见下图。

2、找素数
标题问题:找出100之内的素数(2-99)。
质数又称素数,指于一个年夜在1的天然数中,除了了1及此整数自身外,无法被其他天然数整除了的数。
思绪:从2最先依次判定每一个数是否是素数,假如是的话就插手到列内外。难点于在怎样判定一个数是否是素数,按照素数的界说,需要利用反复履行,只要能被1及自身以外的数整除了(余数=0),那末就不是素数,住手本次轮回,然后去判定下一个天然数是否是素数。
1.添加变量num暗示100之内的天然数,从2最先,依次递增,挨个判定是否为素数
2.添加变量i作为除了数(取值为2到num)用来判定是否为素数
3.添加变量“是否为素数”标志num是不是素数(初识默许这个数是素数,经由过程反复履行除了以i,假如被整除了那末就转变值为0,即不是素数,住手本次反复履行)
4.怎样住手本次反复履行?经由过程修转变量的值,使反复履行竣事的前提建立,如许就能够削减没必要要的计较次数。
5.每一个天然数num反复履行除了法判定竣事后按照YABO鸭脖官网变量“是否为素数”来确定终极成果,假如等在1,那末就是素数,将该数添加进列表。
-YABO鸭脖官网