看到这么个数字环,感觉很有趣,于是就想着用算法实现此数字环。
首先附图看效果,看是什么样的数字环
其实这个东西的算法实现是很简单的,写下它,是因为它代表了一种在算法中常用的一种思想,把一些看似很复杂很杂乱的想办法归一成一两种方式。计算机程序是很傻的,只会做你让它做的事。当你把问题分析清楚后,把杂乱的规律统一成类似的步骤即可!
下面看源码和注释:
/**
**算法思想:
**观察数字的排布规律,树妖观察完全平方数的分布特点
**观察到奇数的完全平方数在右上角,偶数的完全平方数在左下角
**对于某一个奇数来说,它是在该奇数的前一个偶数的数字圈的基础上依次添加了左、上两个半圈,从左下角走到了右上角
**对于某一个偶数来说,它是在该偶数的前一个奇数的数字圈的基础上依次添加了右、下两个半圈,从右上角走到了左下角
**如此拆分后,无论多大的数字圈,都可以这么归一了(当然,1是例外,它的前面没有数字)
**使用二维数组来表示比较简单,首要的是找到起始位置的坐标,然后依次如上的规律变化即可
**举例:

本文介绍了如何使用算法实现一个有趣的数字环。这个数字环的设计思路体现了在算法中将复杂问题简化为统一步骤的思想。通过程序分析和归一化处理,可以教会计算机执行这类看似杂乱的任务。
最低0.47元/天 解锁文章
1474

被折叠的 条评论
为什么被折叠?



