技术标签: c语言实现24点课程设计
#include
using namespace std;
int flag=0;
int Calculate(float x,float y,float z,float w);//a b c d的所有排列组合情况
int check(int *a,int *b,int *c,int *d);
int main()
{
int a,b,c,d;
m_ret: //做标记
cout<
cout<
cin>>a;
cout<
cin>>b;
cout<
cin>>c;
cout<
cin>>d;
cout<
if ((a<0)||(a>13)||(b<0)||(b>13)||(c<0)||(c>13)||(d<0)||(d>13))
{
cout<
goto m_ret;
} // 返回标记,重复输入
if(check(&a,&b,&c,&d)==0)//分成五种情况,都不想等,有两个相等(两种),有三个相等,有四个相等 ,并且把相等的往后放
{
Calculate(a,b,c,d); Calculate(a,b,d,c); Calculate(a,c,d,b);
Calculate(a,c,b,d); Calculate(a,d,b,c); Calculate(a,d,c,b);
Calculate(b,a,c,d); Calculate(b,a,d,c); Calculate(b,c,a,d);
Calculate(b,c,d,a); Calculate(b,d,c,a); Calculate(b,d,a,c);
Calculate(c,a,b,d); Calculate(c,a,d,b); Calculate(c,b,d,a);
Calculate(c,b,a,d); Calculate(c,d,a,b); Calculate(c,d,b,a);
Calculate(d,a,b,c); Calculate(d,a,c,b); Calculate(d,b,c,a);
Calculate(d,b,a,c); Calculate(d,c,a,b); Calculate(d,c,b,a);
}
else if(check(&a,&b,&c,&d)==1) //只有一组一样的,即交换后的c和d
{
Calculate(a,b,c,d);
Calculate(a,c,d,b);
Calculate(a,c,b,d); Calculate(a,d,c,b);
Calculate(b,a,c,d); Calculate(b,c,a,d);
Calculate(b,c,d,a);
Calculate(c,a,b,d); Calculate(c,a,d,b); Calculate(c,b,d,a);
Calculate(c,b,a,d); Calculate(c,d,a,b); Calculate(c,d,b,a);
}
else if(check(&a,&b,&c,&d)==2) //有两组一样的,即交换后的a和b c和d
{
Calculate(a,b,c,d); Calculate(a,c,d,b); Calculate(a,c,b,d);
Calculate(c,a,b,d); Calculate(c,a,d,b); Calculate(c,d,a,b);
}
else if(check(&a,&b,&c,&d)==3)
{
Calculate(a,b,c,d);Calculate(b,a,c,d);
Calculate(c,b,a,d);Calculate(d,b,c,a);
}
else
Calculate(a,b,c,d);
if(flag==0)
cout<
else
cout<
return 0;
}
int Calculate(float x,float y,float z,float w) //运算表达式的所有情况,里面的x,y,z,w位置相对固定,所以所有情况,靠主函数里面对他们进行排序
{
if (x+y+z+w==24) {cout<
else if (x+y+z-w==24) {cout<
else if ((x+y)*(z+w)==24) {cout<
else if ((x-y)*(z+w)==24) {cout<
else if ((x-y)*(z-w)==24) {cout<
else if ((x+y+z)*w==24) {cout<
else if ((x-y-z)*w==24) {cout<
else if ((x+y-z)*w==24) {cout<
else if ((x-y+z)*w==24) {cout<
else if ((x*y*z)/w==24) {cout<
else if ((x*y)*(z+w)==24) {cout<
else if ((x*y)*(z-w)==24) {cout<
else if ((x*y)*z-w==24) {cout<
else if ((x*y)*z+w==24) {cout<
else if (x*y*z*w==24) {cout<
else if ((x+y)+(z/w)==24) {cout<
else if ((x+y)*(z/w)==24) {cout<
else if ((x*y)+z+w==24) {cout<
else if ((x*y)+z-w==24) {cout<
else if ((x*y)-(z/w)==24) {cout<
else if ((x*y)+(z/w)==24) {cout<
else if ((x*y)-z-w==24) {cout<
else if ((x*y)+(z*w)==24) {cout<
else if ((x*y)-(z*w)==24) {cout<
else if ((x*y)/(z*w)==24) {cout<
else if ((x*y)/(z-w)==24) {cout<
else if ((x*y)/(z+w)==24) {cout<
else if ((x*y+z)/w==24) {cout<
else if ((x*y-z)/w==24) {cout<
else if ((x/y+z)/w==24) {cout<
else if ((x/y-z)/w==24) {cout<
#!/bin/bashnowtime=`date "+%Y-%m-%d__%H:%M:%S"`cpu_load=`cat /proc/loadavg | cut -d ' ' -f 1-3`temp=(`cat /sys/class/thermal/thermal_zone0/temp | awk '{printf("%.2f℃", $1 / 1000)}'`)eval `head -n..._"nowtime=`date \"+%y-%m-%d__%h:%m:%s\"`啥意思"
springboot如何使用多个环境配置文件前言新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言boot..._bootstrap.yml 判断条件
input控件 name语法:1、type: 当 type="radio" 时,控件为单选框 当 type="checkbox" 时,控件为复选框2、value:提交数据到服务器的值(后台程序PHP使用)3、name:为控件命名,以备后台程序 ASP、PHP 使用4、checked:当设置 checked="checked" 时,该选项被默认选中
文章目录题目地址题目描述代码实现题目地址题目地址https://leetcode-cn.com/problems/valid-parentheses/题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:...
1、mysql下载压缩包。https://downloads.mysql.com/archives/community/2、解压文件到安装位置3、配置环境变量新建用户变量变量名:MYSQL变量值:mysql解压位置修改用户Path变量:%MYSQL%bin4、新建my.ini配置文件在mysql文件夹中创建my.ini文件配置如下[mysql]# 设置mysql客户端默认字符集default-chara..._windows2019 安装mysql5.7 报错
linux命令-持续更新_ps -ef | grep -c "ssh
这里测试是否连接上ftp
1安装12c1.1Table 3 x86-64 Supported Linux 7 Operating System RequirementsItemRequirementsSSH RequirementEnsure that OpenSSH is installed on your servers. OpenSSH is the required SSH software.Oracle Linu..._oracle libaio32位资源包
本文主要介绍Linux下Vim常见的文本编辑技巧,供大家参考_vim编辑文件如何换行
归并求逆序数! 在归并排序的过程中,我们可以求出一个数列的逆序数。代码1:#includeusing namespace std;int a[100001];long long sum;void Merge(int low,int mid,int high){ int b[100001]; int i=low,j=mid+1,k=low; while
在Linux环境下,启动Eclipse,会弹出并报如下的错误,且不能启动该工具JVM terminated. Exit code=127/eclipse/jdk1.7.0_71/bin/java-Dosgi.requiredJavaVersion=1.6-XX:MaxPermSize=256m-Xms40m-Xmx512m-jar /root/source1/eclipse//plugins/..._jvm exit code=127
(编译:Mangofish)虽然已经正式退出智能手机市场,但是诺基亚最近却凭借旗下第一款Android平板电脑——诺基亚N1而备受关注。值得一提的是,诺基亚应该算得上是平板电脑的开山鼻祖,但后来居上的苹果才将平板电脑真正发扬光大。其实N1并不是诺基亚第一款平板电脑,下面我们就为大家盘点了诺基亚曾经推出的6款平板电脑,一起来看看吧!诺基亚M510诺基亚M510的诞生时间比初代iPad还要早九年,但仅..._n1分辨率