问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

24点游戏C语言编程。要求 游戏给出4个1-13的整数 用户输入一个含这4个整数的四则运算表达式

发布网友 发布时间:2022-05-05 12:52

我来回答

3个回答

热心网友 时间:2023-10-08 15:04

输入:A 2 3 4 5 6 7 8 9 10 J Q K
输出:Yes/No
#include <stdio.h>
#include <string.h>

char t[10][10];
int b[5][1000],bx[3][200],by[3][200],g[5],p[5];
int i,j,k;
bool f;

int main()
{
while (~scanf("%s",&t[0]))
{
for (i=1;i<4;i++)
scanf("%s",&t[i]);
for (i=0;i<4;i++)
if (t[i][0]=='A')
g[i+1]=1;
else if (t[i][0]=='J')
g[i+1]=11;
else if (t[i][0]=='Q')
g[i+1]=12;
else if (t[i][0]=='K')
g[i+1]=13;
else if (t[i][0]=='1')
g[i+1]=10;
else
g[i+1]=t[i][0]-48;
memset(b,255,sizeof(b));
for (p[1]=1;p[1]<=4;p[1]++) if (b[4][24]!=4)
for (p[2]=1;p[2]<=4;p[2]++) if ((p[1]!=p[2]) && (b[4][24]!=4))
for (p[3]=1;p[3]<=4;p[3]++) if ((p[1]!=p[3]) && (p[2]!=p[3]) && (b[4][24]!=4))
{
p[4]=10-p[1]-p[2]-p[3];
memset(b,255,sizeof(b));
b[1][g[p[1]]]=1;
for (i=2;i<=4;i++)
for (j=500;j>0;j--)
if (b[i-1][j]==i-1)
{
b[i][j+g[p[i]]]=i;
if (j>g[p[i]])
b[i][j-g[p[i]]]=i;
if (j<g[p[i]])
b[i][g[p[i]]-j]=i;
if (j*g[p[i]]<1000)
b[i][j*g[p[i]]]=i;
if (j%g[p[i]]==0)
b[i][j/g[p[i]]]=i;
if ((j!=0) && (g[p[i]]%j==0))
b[i][g[p[i]]/j]=i;
}
if (b[4][24]!=4)
{
memset(bx,255,sizeof(bx));
memset(by,255,sizeof(by));
bx[1][g[p[1]]]=1;
bx[2][g[p[1]]+g[p[2]]]=2;
if (g[p[1]]>g[p[2]])
bx[2][g[p[1]]-g[p[2]]]=2;
if (g[p[1]]<g[p[2]])
bx[2][g[p[2]]-g[p[1]]]=2;
bx[2][g[p[1]]*g[p[2]]]=2;
if (g[p[1]]%g[p[2]]==0)
bx[2][g[p[1]]/g[p[2]]]=2;
if (g[p[2]]%g[p[1]]==0)
bx[2][g[p[2]]/g[p[1]]]=2;
by[1][g[p[3]]]=1;
by[2][g[p[3]]+g[p[4]]]=2;
if (g[p[3]]>g[p[4]])
by[2][g[p[3]]-g[p[4]]]=2;
if (g[p[3]]<g[p[4]])
by[2][g[p[4]]-g[p[3]]]=2;
by[2][g[p[3]]*g[p[4]]]=2;
if (g[p[3]]%g[p[4]]==0)
by[2][g[p[3]]/g[p[4]]]=2;
if (g[p[4]]%g[p[3]]==0)
by[2][g[p[4]]/g[p[3]]]=2;
for (i=200;i>0;i--)
if (bx[2][i]==2)
for (j=200;j>0;j--)
if (by[2][j]==2)
if ((i+j==24) || (i-j==24) || (j-i==24) || (i*j==24) || ((i%j==0) && (i/j==24) || ((j%i==0) && (j/i==24))))
{
b[4][24]=4;
break;
}
}
}
if (b[4][24]==4)
puts("Yes");
else
puts("No");
}
return 0;
}

热心网友 时间:2023-10-08 15:05

回溯是解这个问题的好方法

热心网友 时间:2023-10-08 15:05

3×(10+4-6)=24 4-(-6÷3×10)=24 10-4-(-6)×3=24
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
下载了优酷播放器iku免登录版,安装在没联网的电脑上。查看不了本地的... 播放FLV的几个问题在线等 劲舞团真的有那么好玩吗? 为什么别人说劲舞团是世界上最淫荡的游戏.. 劲舞团好玩吗?? 030221 1020 060414 2168 060417 这几组数是什么意思啊!有知道的大哥请... ...分签约短信服务-【广东农信】”是什么意思? 2168是什么意思爱情 事业单位面试成绩79分算好的吗 事业编面试成绩76分算高分吗 单向二极管是否存在时好时坏问题? 开关电源整流二极管BY254用什么型号替代??? 二极管 BY255 用什么其他型号代替 二极管BY255GP与BY255有什么区别? by255二极管参数 我先前注册了一个支付宝账号,但是现在登录时,总是说账号存在异常,进一步验证时,还是没有用。。 qq邮箱可以注册支付宝总是跳出来该帐号不存在 为什么我登录自己的支付宝,却显示账户不存在或重新注册 大家推荐在呼市的游泳馆去哪里合适 呼和浩特好的游泳馆 北汽a12是什么发动机 呼市哪个室内游泳馆最便宜 呼和浩特学游泳 有没有人考税务师,不小心过了注会 iphone xs 这次的卖点是什么 a12还是相机 a12真的已经做出7纳米了吗 如果真的是 呼和浩特市室内游泳池 考注册税务师的人多吗? 现在cpu最高是多少纳米?a12 7纳米是不是比电脑的cpu好? amd apu系列 a12-9800 多少纳米制程 税务师没有含金量了,有必要还考吗? bytrs=32 time=30ms ttl=252 是什么意思? 求好看bl小说 有关vb: byval hwnd& 还有dim mm$,这里“&”,“$”是什么意思?作用为? 关于GetPrivateProfileString函数只能读取255个字符,求修改 ByVal 与 Byref的区别 华为指纹解锁。我刚设置了两个指纹。解锁进去两个不一样的。一个有下载软件了在用的多有。一个没就原来那 华为honor5a可以安装指纹解锁软件吗? 华为mate7怎么设置指纹管理应用程序 华为手机用指纹解锁后直接跳出支付宝应用呢 电池比功率是什么意思 什么是电化学比能量密度,比功率密度? 比功率概念 (名词解释) 什么是蓄电池的功率,比功率 风冷燃料电池比功率 朋克新能源车电池多少伏 什么是比功 比功 汽车比功率的定义是什么? 汽车的比功率是什么意思啊? 蓄电池的比能量和比功率各影响汽车的什么性能? 比功率怎么算