我正在设计一个效率极低的幻方求解器,它会告诉您3x3 正方形的解数。本质上,我必须将 3x3 数组中的每个元素填充到某个数字(例如 16),然后重置,移动到下一个元素并像两位数增加一样填充它们。我已经设法通过使用 9 个 for 循环来实现这一点,每个元素一个。但是如果我想做一个 5x5 的正方形,我必须写 25 个循环吗?
代码的 for 循环部分如下。有没有办法通过for循环来总结这个和for循环?
for (sq9=1; sq9<17 ; sq9++) {
for (sq8=1; sq8<17 ; sq8++) {
for (sq7=1; sq7<17 ; sq7++) {
for (sq6=1; sq6<17 ; sq6++) {
for (sq5=1; sq5<17 ; sq5++) {
for (sq4=1; sq4<17 ; sq4++) {
for (sq3=1; sq3<17 ; sq3++) {
for (sq2=1; sq2<17 ; sq2++) {
for (sq1=1; sq1<17 ; sq1++) {
if ( check_the_square() ) count++;
}}}}}}}}}}
*** EDIT ***
问这个问题 7 年后,我是一家大公司的首席工程师,领导着一个敬业的团队。感谢那些在这里……温柔的人。谢谢你对我的耐心,你的好意走了很长一段路