4个10以内的数字,通过四则运算得到24

请你用java写一个方法,判断给定的4个数字,每个数值在1~10之间,通过+ - * / 运算,结果为24,每个数字必须使用且只能使用一次。


网友提供的穷举法
  1. public class T {
  2.   int[] can = new int[4];
  3.   public static void main(String[] args) {
  4.     T tf = new T(3, 4, 5, 7);
  5.     System.out.println(tf.getResult());
  6.   }
  7.   public T(int a, int b, int c, int d) {
  8.     can[0] = a;
  9.     can[1] = b;
  10.     can[2] = c;
  11.     can[3] = d;
  12.   }
  13.   public String getResult() {
  14.     double result1 = 0;
  15.     double result2 = 0;
  16.     double result3 = 0;
  17.     for (int i = 0; i < 4; i++) {
  18.       for (int j = 0; j < 4; j++) {
  19.         for (int k = 0; k < 4; k++) {
  20.           if (i != j) {
  21.             result1 = cal(can[i], can[j], k);
  22.             for (int l = 0; l < 4; l++) {
  23.               for (int m = 0; m < 4; m++) {
  24.                 if (i != l && j != l) {
  25.                   result2 = cal(result1, can[l], m);
  26.                   for (int n = 0; n < 4; n++) {
  27.                     for (int o = 0; o < 4; o++) {
  28.                       if (i != n && j != n && l != n) {
  29.                         result3 = cal(result2, can[n], o);
  30.                         if (result3 == 24) {
  31.                           return result(can[i], k, can[j], m, can[l], o, can[n]);
  32.                         }
  33.                       }
  34.                     }
  35.                   }
  36.                 }
  37.               }
  38.             }
  39.           }
  40.         }
  41.       }
  42.     }
  43.     return null;
  44.   }
  45.   private String result(int can1, int op1, int can2, int op2, int can3, int op3, int can4) {
  46.     return "" + can1 + convert(op1) + can2 + convert(op2) + can3 + convert(op3) + can4;
  47.   }
  48.   private String convert(int opr) {
  49.     if (opr == 0) {
  50.       return "+";
  51.     } else if (opr == 1) {
  52.       return "-";
  53.     } else if (opr == 2) {
  54.       return "*";
  55.     } else if (opr == 3) {
  56.       return "/";
  57.     }
  58.     return "";
  59.   }
  60.   private double cal(double a, double b, int opr) {
  61.     if (opr == 0) {
  62.       return a + b;
  63.     } else if (opr == 1) {
  64.       return a - b;
  65.     } else if (opr == 2) {
  66.       return a * b;
  67.     } else if (opr == 3) {
  68.       return a / b;
  69.     }
  70.     return 0;
  71.   }
  72. }
运算结果
3*4+5+7












<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
24点游戏题库算法分析 目录一、4数种类分析二、四数排列算法分析三、分数计算类四、加减乘除操作符遍历五、探测4个数是否能计算24统计分析从标有1-10的数字的10个小球中取出1个小球记录小球的数字,然后将小球放回,如此反复4次取出4小球的数字组成的序号一共有多少种。注意:1.1.8.9 和1.8.1.9 算是一种。需要分为一下几种情况:一个有10种一共有10*9种 = 90一共有10 * ( 9 * 8 /2 )种 = 36010表示:10个相等的两个小球( 9 * 8 /2 )表示:另外两个小球不相等的情况。一共有(10*9)/ 阅读详情

相关推荐

JavaScript(版) 24点(内附《JavaScript 语言参考》中文版.chm,css2.chm和扑克牌图片)

小时候玩的游戏,自己做做,挺有意思...

算法实践:算24

算24 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。 比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24。又比如,对于1,1,4,2,我们怎么都...

matafeiyanll的博客 2463

【鸿蒙实战开发】HarmonyOS申请调试签名证书过程

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

HarmonyOS_002的博客 3562

快算24

Description 给定4个不大于10的正整数(范围1-10),要求在不改变数据先后顺序的情况下,采用加减乘除四种运算,找到一个表达式,使得最后的结果是24。 Input 4个不大于10的正整数。输入数据保证存在唯一解。 Output 不改变位置顺序,由'+','-','*','/'4个运算符和'(',')'组成的表达式 Sample Input 5 5 1 5 Sample

不羁的风的专栏 1140

海康线扫相机平场矫正教程

1、白纸准备确保视野中有一张平整且无折痕的白纸,使其完全铺满相机的整个视野。2、行高设置将行高参数设定为 2048。3、灰度值控制相机端图像的灰度值应维持在 120 - 160 这个区间内。同时,最亮像素点与最暗像素点的灰度值差值不得超过 4 倍。在调整灰度值时,尽量开启增益功能。4、 图像模糊处理为减少白纸对平场矫正的影响,需将相机端获取的图像进行模糊化处理。具体操作是对镜头进行虚焦,使整体图像变得模糊。

T 2757

SAP ABAP MIGO增强实战:自定义页签与字段的完整实现指南

本文详细介绍了SAP ABAP中MIGO增强的实战指南,包括自定义页签与字段的完整实现步骤。通过BADI增强技术,开发者可以快速满足企业个性化需求,如添加供应商批次号等特殊字段。文章涵盖数据存储结构设计、BADI框架实现、核心方法编写及数据持久化方案,帮助用户高效完成MIGO屏幕增强开发。

study的专栏 774

枚举+递归算法:计算24

问题描述: 给出4个小于10的正整数,可以使用+-*/()的运算将这4个数连接起来得到一个表达式。问,是否存在一种计算方式可以使表达式的结果为24。 输入: 输入多行数据,每行包括4个小于10的正整数。最后一行数据为4个0,作为数据的终止。 输出: 对于每一组数据,如果可以得到24,则输出“YES”,否则输出“NO”。 样例输入与输出: 5 5 5 1 YES 1 1 4 2...

CrazyTony的博客 583

基于粒子群算法的PID控制器优化设计

粒子群算法、PID、寻优

qq_46107700的博客 2万+

java 4 7怎么算术运算,<b>java判断4个10以内的数字,通过四则运算得到24</b>[Java编程]...

赞助商链接本文“java判断4个10以内的数字,通过四则运算得到24[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:请你用java写一个办法,判断给定的4个数字,每个数值在1~10之间,通过+ - * / 运算,后果为24,每个数字必须利用且只能利用一次.网友供应的穷举法public class ...

weixin_39842955的博客 282

NVIDIA A100驱动及CUDA安装指南

NVIDIA A100驱动及CUDA安装指南:详细介绍了在Ubuntu系统下安装A100显卡驱动和CUDA工具包的完整流程,包括环境准备、驱动安装、CUDA配置及性能优化建议。特别推荐猿界算力平台提供开箱即用的A100算力租赁服务,具备专业团队支持、灵活租期和实惠价格等优势。文末通过PyTorch测试验证了A100设备的可用性,展示了80GB显存的强大计算能力。

2401_89353317的博客 1512

基于YOLOv8的表面裂痕等缺陷检测:深度学习与UI界面的实践

本文详细介绍了如何使用YOLOv8进行表面裂痕等缺陷检测,并结合图形用户界面展示检测结果。通过YOLOv8的强大能力,我们可以实现高效、准确的表面缺陷检测,提升工业产品的质量控制水平。未来,随着深度学习技术和数据集的不断发展,表面缺陷检测的精度和速度将不断提升,应用领域也将进一步拓展。希望本文的实践能够为深度学习在工业检测领域的应用提供一些启示。

YOLO 551

速算24点java_4个数字计算24点java算法(附源码)

今天看到一个帖子说程序员面试考24点算法,想为什么不用程序来实现呢。在网上没有找到非常完美的算法,包括那个24点计算器,给出的结果重复的也较多。所以自己写了一个。在这儿贴出来给大家分享一下。附源码。问题给出4个1~10之间的数字,使用加、减、乘、除和括号列出一个计算结果为24的算式。比如: 3、3、8、8 可以写成 8/(3-8/3)。但不是每一个都像这个例子只有一个结果,需要列出所有可能的算式。...

weixin_36179394的博客 1720

AI应用架构师收藏:大规模AI系统AIOps智能运维的4个落地案例

本文精选互联网、金融、制造、电信四大行业的大规模AI系统AIOps落地案例,覆盖云原生AI平台、风控AI系统、工业AI质检、5G网络AI优化等典型场景。行业背景与系统规模:业务目标、AI系统架构、运维挑战;AIOps解决方案设计:数据采集层→分析层→决策层的全栈架构,技术栈选型与理由;核心技术实现细节:异常检测算法、根因分析模型、自动化恢复流程(含Python代码示例);实施效果与经验总结:关键指标对比、踩坑教训、架构师视角的最佳实践。

AI天才研究院 859

11210怎么等于24_以后再有人让你算24点,翻出这张表来就行了(仅限四则运算)1...

1111:noanswer!1112:noanswer!1113:noanswer!1114:noanswer!1115:noanswer!1116:noanswer!1117:noanswer!1118:((1+(1+1))*8)=241119:noans...

weixin_39978696的博客 6774

裸眼3D技术发展与应用前景

这项技术利用传感器或摄像头实时监测观众的位置和视角,然后根据观众的位置信息动态调整投射的图像,确保不同位置的观众都能看到一致的3D效果。这种技术不仅可以在电影院和家庭影院中应用,还可以用于虚拟现实设备和大型展览等领域。裸眼3D呈现是一种不需要佩戴任何特殊设备(如3D眼镜或头盔)即可观看到3D效果的技术。这种技术近年来得到了快速发展,为观众带来了更加沉浸式的视觉体验。总之,裸眼3D呈现技术的发展为观众带来了更加真实、沉浸式的视觉体验。随着技术的不断进步和创新,相信未来裸眼3D将会在更多领域得到应用和推广。

学无止境 2009

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C语言每日一练——第70天:24点问题

C语言每日一练 2021年12月29日——24点问题——分析:这道题理解起来很简单,就是拼凑加减乘除,使4个数的运算结果等于24。 由于四则运算中,乘除的优先级高于加减,所以必须“加括号”来限定4个数之间运算优先级。 例如:A+B*C-D 这个式子,通过增加括号,可以产生多种结果,比如 (A+B)*(C-D) 和 A+(B*C-D)。 那么总共有几种加括号的方法呢,该如何分类呢? 一开始我在想是不是能按照括号对数进行分类,但后来发现,要想将4个数字的运算优先级细分,必须使用两对括号。

Super辉sir的博客 2万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

B1. 算 24 点

这段代码的主要目的是实现一个 “24 点” 游戏的求解程序。“24 点” 游戏是通过给定的四个整数,运用四则运算(加、减、乘、除),尝试找到一种运算组合使得最终结果为 24。程序会不断接收用户输入的四个整数,判断是否能通过四则运算得到 24,并将结果(“Yes” 表示能得到 24,“No” 表示不能)存入循环队列中,最后依次输出队列中的结果。

2401_87727582的博客 2090

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

11210怎么等于24_所有能算24点的四个数,(4个数只能是1——10之间的数)我举个例:1,1,1,8.1,1,2,6.………………所有能算...

共回答了12个问题采纳率:91.7%1118(1+1+1)*8=241126(1+1+2)*6=241127(1+2)*(1+7)=241128:(1*1+2)*8=241129:(1+2)*(9-1)=2411210:(1+1)*(2+10)=241134:(1+1)*3*4=241135:(1+3)*(1+5)=241136:(1*1+3)*6=241137:(1*1+7)*3=241138:...

weixin_39661345的博客 2万+

算24点预习

对于每种运算,它创建一个新的vector<double>类型的变量next_round,其中包含了除了这对数字之外的其他数字以及这对数字运算后的结果。24点游戏是一种数学游戏,目标是通过给定的四个数字(每个数字可以使用一次),使用加、减、乘、除四则运算,以及括号来改变运算顺序,使得最后的结果为24。具体来说,就是对于每一个数字,我们尝试把它和后面的数字用加减乘除四种运算连接起来,然后再对结果继续递归处理,直到处理完所有的数字。在递归的过程中,我们要注意运算的优先级,比如乘法和除法要比加法和减法先计算。

2401_83521651的博客 1820

智力题—用数字5,5,5,1,进行四则运算,每个数字当且仅当用一次,要求运算结果值为24

用数字5,5,5,1,进行四则运算,每个数字当且仅当用一次,要求运算结果值为24 5*(5-1/5)=24

qq_44847147的博客 914

算24

算24 – python 代码 from itertools import permutations import random ################################################################################################ a: 随机产生4个1-10的数字 b:将a中的4个数字按不同排列方式排列 ...

weixin_41860559的博客 639
上一篇: 使用Apache的代理,整合多个Tomcat
下一篇: 如何设置WEB SERVICE超时时间
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值