【免费题库】华为OD机试 - 九宫格(Java & JS & Python & C & C++)

本文介绍了如何解决华为在线开发者(OD)测试中的一道题目——九宫格三阶积幻方。通过回溯法寻找满足每行、每列及对角线三数之积相等的九个数字排列,详细阐述了解题思路并提供了Java、JS、Python和C++的代码实现。
摘要由CSDN通过智能技术生成

题目描述

九宫格是一款广为流传的游戏,起源于河图洛书。
游戏规则是: 1 到 9 九个数字放在 3x3 的格子中,要求每行、每列以及两个对角线上的三数
之和都等于 15.
在金麻名者《射英雄传》中黄蓉曾给九宫格的一种解法,口诀:戴九恩一,左三右七,二四
有肩,八六为足,五居中央。解法如图所示
现在有一种新的玩法,给九个不同的数字,将这九个数字放在 3x3 的格子中,要求每行、每
列以及两个对角线上的三数之积相等(三阶积幻方) 。其中一个三阶幻方如图:
解释:每行、每列以及两个对角线上的三数之积相等,都为 216。请设计一种算法,将给定的
九个数宇重新排列后,使其满足二阶积幻的要求。
排列后的九个数宇中: 第 1-3 个数字为方格的第一行,第 4-6 个数宇为方格的第二行,第 7-9
个数字为方格的第三行

输入描述

九个不同的数宇,每个数字之间用空格分开。
0<数字<10^7。0<排列后满足要求的每行、每列以及两个对角线上的三数之积< 2^31-1.

输出描述

九个数字所有满足要求的排列,每个数字之间用空格分开。每行输出一个满足要求的排列。
要求输出

  • 0
    点赞
  • 200
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值