本文主要是介绍java编程解小学生一年级竞赛题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
抖音教学视频
目录
1、题目三角形加起来为10
大纲
1、题目三角形加起来为10
连接:小学一年级数学竞赛练习题3套,有点难度! 第16题
此方法不是最优解,穷举法,比较暴力解决
主要给大家演示如何用编程去解决我们的实际问题,
/*** @ClassName TopicTest* @Author chuige* @create 2024/1/14 10:33*/
public class TopicTest {public static void main(String[] args) {new TopicTest().topic16();}/** @Author 吹老师* @Description // 解 小学生一年级 最难的竞赛题* @Date 10:34 2024/1/14* @Param []* @return void**/private void topic16() {int[] a = {1, 2, 3, 4, 5, 6};int[] result = new int[6];topic16(a, 0, result);System.out.println("执行完成");}private void topic16(int[] a, int count, int[] result) {if (count == 6) {printResult(result);return;}for (int i = 0; i < 6; i++) {result[count] = i + 1;topic16(a, count + 1, result);}}private void printResult(int[] result) {int reuslt1 = result[0] + result[1] + result[2];int reuslt2 = result[2] + result[3] + result[4];int reuslt3 = result[4] + result[5] + result[0];if (reuslt1 != 10 || reuslt2 != 10 || reuslt3 != 10) {return;}StringBuilder stringBuilderResult = new StringBuilder();stringBuilderResult.append("结果:");Set<Integer> repeatSet = new HashSet<>();for (int temp : result) {if (repeatSet.contains(temp)) {return;}repeatSet.add(temp);stringBuilderResult.append(" " + temp);}System.out.println("满足条件的结果:" + stringBuilderResult.toString());// 满足条件的结果:结果: 1 4 5 2 3 6
// 满足条件的结果:结果: 1 6 3 2 5 4
// 满足条件的结果:结果: 3 2 5 4 1 6
// 满足条件的结果:结果: 3 6 1 4 5 2
// 满足条件的结果:结果: 5 2 3 6 1 4
// 满足条件的结果:结果: 5 4 1 6 3 2}
这篇关于java编程解小学生一年级竞赛题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!