123数学黑洞,就是输入一串数字,经过重复的计算,最后得到的结果一定是123。scratch 123数学黑洞,是蓝桥杯2020年5月份的一道scratch编程考试中的题目。主要考察的是对自制积木函数的运用,今天给大家用递归的方法来实现123数学黑洞scratch编程。
[背景信息]
“123数学黑洞” ,指的是对于任意一串数字串,按照一定规则经有限次重复后必得到“123”的结果,即任何数的最终结果都无法逃脱123黑洞。其中的规则如下:
1 )对任何一串数字串统计出其中的偶数个数、奇数个数、总个数;
2 )按照“偶-奇-总”的方式进行排列,得到新的数字串;再不断循环这个算法,其最终结果一定会变成123。例如: 12345 ,偶数个数2 ,奇数个数3,总个数5 ,我们得到235 ;235 ,偶数个数1 ,奇数个数2 ,总个数3 ,我们得到123 ;
[编程实现]
1 )当绿旗被点击,请用户输入任意长度数字串,如图1 ;
图1
2 )输入数字串之后,说出这个数字串第一次计算的结果,第二次
计算的结果,第…..直到计算结果为123 ,如图2。
图2
[评判标准]
20分:能够正常输入数字串;
30分:小猫的第-次计算结果是正确的;
30分:小猫每次计算结果正确并最后得到123;
20分:小猫每次对次数的表述也完全正确,且完全符合题意。
123数学黑洞scratch编程实现步骤:
步骤一、新建变量“偶数”、“奇数”、“数字串”、“i”、“k”五个变量;五个变量分别代表什么?
变量“偶数”,表示偶数个数;
变量“奇数”,表示奇数个数;
变量“数字串”,表示输入需要验证的“任意一串数字字符”;
变量“i”,表示循环遍历的“数字串”元素id;
变量“k”,表示输入数字串之后,说出这个数字串计算结果的次数;
步骤二、询问“请输入任意一串数字字符?”并等待,将“回答”设为“数字串”的值;变量k的初始值=1;
变量初始化
步骤三、新建自制积木“函数”,参数是数字串;初始变量“偶数”、“奇数”为0;变量i=1;遍历输入的“数字串”的每个元素,除以2的余数=0就是偶数,偶数的个数就的加1;否则就是奇数,奇数的个数加1;
自制积木“函数”
步骤四、得到了新的“数字串”,再自己调用自己,将参数带入到函数中计算,这个叫递归算法。直到“数字串”=123为止;
要不这样: 1.获取用户输入信息 2.将用户输入信息乘以0 3.再加上123 4.得结果为123 搞定了,对吧?