Scratch趣味数学

2020-10-14 22:26陈新龙
电脑报 2020年37期
关键词:嵌套正整数字符

陈新龙

数根:又称数字根,数字的根是自然数的一种性质,而且每一个自然数都有一个数根。将正整数的各个位数相加后,若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于10为止,所得到的数即为数根。

换句话说,数根是将一个数重复做其各位数字之和,直到其值小于10为止,则所得的值为该数的数根。例如54817的数根为7,因为5+4+8+1+7=25,25大于10则再加一次,2+5=7,7小于10,则7为54817的数根。

数根中也有一种巧合,X+9与X的数根相同,即一个数加9后它的数根不变,例如29的数根是2,恰巧20的数根也是2,数学就是这么神奇。

數字越大,求解数根的运算量也就越多,我们就可以用编程来计算数根。用户输入数字,然后由程序来求解,毕竟这类重复计算可是计算机的强项。

对小朋友来说程序的难度不小,要考虑需要设置哪些变量。根据数根的计算方法我们可以预计运行中会用循环获取目标数的各位上的数字,用条件判断停止循环。但是如何才能保证最终的数字之和小于10,是否需要用到嵌套循环呢?这些都是我们要思考的。

假设我们输入数字1234,(1+2+3+4=10=>1+0=1),可以得出最终的数根值为1。

代码分析:

程序运行,用户先输入一个正整数,变量n保存用户输入的数字。变量“长度”为n的字符数。

接下来进入循环过程,首先设置一个执行条件n的字符数小于2。进入循环之后,还需要设置两个变量i和数根,变量i就是作为循环中的内循环的变量,数根用来计算提取每个各位数字之和。

如何提取各位数字之和,就需要用到嵌套循环了,进行循环判断直到变量i大于长度时跳出循环。将n的数字第一位提取出,加到数根中,变量i加1。开始下一次循环取出n的第二位并累加。

这里我们可以将数字带入程序中测试,n为1234,最终数根的结果为10,但是10并不是我们需要的结果,还得重复进行提取累加,所以在内循环结束后,我们还需要进行一次判断,将长度设置数根的字符数,n设置为数根。再次进行比较判断看看目前数根的位数(字符数)是否小于2,最终直到n的字符数小于2跳出循环。也可以用当前数根n小于10作为跳出循环的判断。

总结:由于需要用到循环嵌套,对于小朋友来说求数根的难度还是不小,需要一定的逻辑思维能力。可以通过用户自定义输入来测试最终结果是否与答案相符合。

这种要在循环中嵌套另一个循环的结构比较难于理解,需要一定分析程序走向的能力,要多注意出现不同可能性的情况。大家也可以在这道题目的基础上进行相关练习。

猜你喜欢
嵌套正整数字符
Python实现图片转字符画
最强大脑
正则表达式快速入门
图片轻松变身ASCⅡ艺术画
嵌套交易如何实现逆市盈利
多参数最大、最小值嵌套问题的研究
巧用嵌套交易实现逆市盈利
表格在网页中的灵活运用
对一道IMO题的再研究
视频监视系统中字符叠加技术的应用