[华为机试练习题]44.24点游戏算法
题目
注意: 6 + 2 * 4 + 10 = 24 不是一个数字一个数字的计算
代码
/*---------------------------------------
* 日期:2015-07-03
* 作者:SJF0115
* 题目:24点游戏算法
* 来源:华为机试练习题
-----------------------------------------*/
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;// 迭代 模拟各种组合
void helper(vector<int> &num,int index,int result,bool &isSucess){if(index == 4){if(result == 24){isSucess = true;}//ifreturn;}//iffor(int i = 0;i < 4;++i){if(i == 0){//op.push_back('+');helper(num,index+1,result+num[index],isSucess);}//ifelse if(i == 1){//op.push_back('-');helper(num,index+1,result-num[index],isSucess);}//elseelse if(i == 2){//op.push_back('*');helper(num,index+1,result*num[index],isSucess);}//elseelse{//op.push_back('/');helper(num,index+1,result/num[index],isSucess);}//else//op.pop_back();// 找到解决方案if(isSucess){break;}//if}//for
}bool Game24Points(int a, int b, int c, int d){vector<int> num;num.push_back(a);num.push_back(b);num.push_back(c);num.push_back(d);bool isSucess = false;helper(num,1,num[0],isSucess);if(isSucess){return isSucess;}//if// 全排列 主要应对 6 + 2 * 4 + 10 = 24while(next_permutation(num.begin(),num.end())){helper(num,1,num[0],isSucess);if(isSucess){return isSucess;}//if}//whilereturn isSucess;
}
[华为机试练习题]44.24点游戏算法相关推荐
- 华为机试HJ67:24点游戏算法
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个 ...
- 【华为机试067】24点游戏算法
题目描述: 给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字.[数字允许重复,但每个数字仅允许使用一次,测试用例保证无异常数字] 输出: true or fal ...
- [华为机试练习题]55.最大公约数 amp; 多个数的最大公约数
题目 描写叙述: 输入2个数字,最后输出2个数字的最大公约数 题目类别: 位运算 难度: 0基础 执行时间限制: 无限制 内存限制: 无限制 阶段: 入职前练习 输入: 2个整数 输出: 输出数字1和 ...
- [华为机试练习题]60.水仙花数
题目 描述: 水仙花数又称阿姆斯特朗数. 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 求输入的数字是否为水 ...
- [华为机试练习题]51.数列求和
题目 描写叙述: 题目描写叙述 编敲代码,输入一个正整数n.求下列算式的值.要求定义和调用函数fact(k)计算k的阶乘. 1+1/2!+ .... +1/n! 计算结果保存在double类型变量中. ...
- [华为机试练习题]37.合唱队
题目 描述: 计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学 ...
- (记录)华为机试练习题13—句子逆序
华为机试练习题13-句子逆序 题目描述 输入描述: 输出描述 例如: 代码(Java) 题目描述 将一个英文语句以单词为单位逆序排放.例如"I am a boy",逆序排放后为&q ...
- [华为机试练习题]5.IP地址推断有效性
题目 推断输入的字符串是不是一个有效的IP地址 具体描写叙述: 请实现例如以下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符 ...
- [华为机试练习题]28.报数
题目 描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出,问最后留下的那位是原来第几号. 题目类别: 数组,指针 难度: 初级 运行时间限制: 10Sec 内存限 ...
最新文章
- 自学笔记——1.Pyhton保留关键字
- 《深入浅出Google Android》即将隆重上市!
- java 8 parallelStream()
- SQLite 安装(http://www.w3cschool.cc/sqlite/sqlite-installation.html)
- Linux shell:执行shell脚本的几种方式
- 一段三次分拆的蚂蚁搬家式MySQL迁移经历
- 2021年全球知名开源项目大更新
- 项目开发中经常有一些被嫌弃的小数据,现在全丢给 FastDFS
- JPA /休眠刷新策略初学者指南
- (原创)SpringBoot入门
- 字符串处理——字典树
- CPU高负载排查小技巧(2分钟速读版),细心的优化可能为公司节省一个亿!
- 北京环球影城上线王者荣耀英雄主题活动
- 【Elasticsearch】Elasticsearch 索引 模板 template
- keil中下载程序的擦除功能
- C# 获取汉语拼音全码及简码
- swing的maven项目打成jar包
- 货币供应量M1M2与上证综合指数之间的相关性图示
- C语言中.c文件与.h文件 的使用-2020-12-27
- AS3多人游戏开发—同步人物移动
热门文章
- java读取ofd文档内容_ofd电子文档内容分析工具(分析文档、签章和证书)
- 两个视频左右拼接成一个视频,且两个视频音频都保留
- 兰州理工 计算机专业,兰州理工大学计算机与通信学院
- React项目,从详情页返回列表页时,保存数据并返回到原来的位置
- 联想 M415 I3-6100 CPU安装系统方法
- Maya_动画渲染出每帧动画的设置
- PC博物馆(3) MITS Altair 8800
- 苹果手机关闭自动更新_苹果手机耗电快?可能和这4个设置有关,建议关闭宜早不宜迟...
- 【论文精读 | 细节分析 | 代码实现】PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
- 2019年深圳积分入户办理经验