社区
C语言
帖子详情
简单的算法,搞定马上结分!!!!
xcz1943
2005-11-26 07:34:31
题目:
五位跳水高手将参加十米高台跳水决赛,有好事者让五个人根据实力预测比赛结果。
A选手说;B第二,我第三
B选手说 我第二,E第四
C选手说 我第一,D第而
D选手说 c最后,我第三
e选手说 我第四,A第一
决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错,请写出分析过程 并编程出比赛的实际名次
提示 将五个人的预测写成逻辑表达方式
写个代码下来,谢谢!
...全文
734
24
打赏
收藏
简单的算法,搞定马上结分!!!!
题目: 五位跳水高手将参加十米高台跳水决赛,有好事者让五个人根据实力预测比赛结果。 A选手说;B第二,我第三 B选手说 我第二,E第四 C选手说 我第一,D第而 D选手说 c最后,我第三 e选手说 我第四,A第一 决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错,请写出分析过程 并编程出比赛的实际名次 提示 将五个人的预测写成逻辑表达方式 写个代码下来,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
manplus
2005-11-29
打赏
举报
回复
mark
bestlife
2005-11-29
打赏
举报
回复
我没看懂,脑袋还晕了!
zhouxiangsen
2005-11-28
打赏
举报
回复
厉害,看来离散数学也不能丢啊!
对吗?
bekars
2005-11-28
打赏
举报
回复
Mark
夏天的大蝎子
2005-11-28
打赏
举报
回复
牛
liweiswin
2005-11-28
打赏
举报
回复
这么多高手。小弟见识了。谢谢各位!!!!
NKNM
2005-11-28
打赏
举报
回复
main()
{
int a,b,c,d,e;
for(a=1; a<=5; a++)
for(b=1; b<=5; b++)
for(c=1; c<=5; c++)
for(d=1; d<=5; d++)
for(e=1; e<=5; e++)
{
if(((b==2||a==3)==1)&&((b==2&&a==3)!=1))
{
if(((b==2||e==4)==1)&&((b==2&&e==4)!=1))
{
if(((c==1||d==2)==1)&&((c==1&&d==2)!=1))
{
if(((c==5||d==3)==1)&&((c==5&&d==3)!=1))
{
if(((e==4||a==1)==1)&&((e==4&&a==1)!=1))
{
if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)
printf("%d--%d--%d--%d--%d\n",a,b,c,d,e);
}
}
}
}
}
}
}
flyskywz
2005-11-28
打赏
举报
回复
没看懂,就是一个字,牛!!
wotur
2005-11-28
打赏
举报
回复
强人阿,佩服
nipcdll
2005-11-28
打赏
举报
回复
佩服
tin1908
2005-11-27
打赏
举报
回复
帮我把今天的题目也搞定一下拉!!
tin1908
2005-11-27
打赏
举报
回复
shishaguo(江大沙锅)我放进去怎么运行不了啊??
iostream.h在里面好象显示什么不允许啊?
blufo
2005-11-27
打赏
举报
回复
代码就不写了。 我比较喜欢shishaguo(江大沙锅)所写 。
guogang9527
2005-11-27
打赏
举报
回复
真是牛啊,实在是佩服啊。。xiaocai0001(萧筱雨) I 服 U 咯
aimt
2005-11-27
打赏
举报
回复
长见识了,xiaocai0001(萧筱雨) 真牛!!
xiaocai0001
2005-11-27
打赏
举报
回复
程序实现上述推导.
运行结果(TC, VC下调试通过):
0x36
D -- 2nd
A -- 3rd
E -- 4th
C -- 5th
Press any key to continue
------------------------------
#include <stdio.h>
typedef union PropSet
{
struct
{
unsigned int p1:1;
unsigned int p2:1;
unsigned int p3:1;
unsigned int p4:1;
unsigned int p5:1;
unsigned int p6:1;
unsigned int p7:1;
unsigned int p8:1;
}prop;
#define p1 prop.p1
#define p2 prop.p2
#define p3 prop.p3
#define p4 prop.p4
#define p5 prop.p5
#define p6 prop.p6
#define p7 prop.p7
#define p8 prop.p8
unsigned short val;
}Propositions;
int Judge(Propositions p);
void Show(Propositions p);
int main()
{
Propositions p;
for(p.val=0; p.val<=255; ++p.val)
{
if(Judge(p))
Show(p);
}
return 0;
}
int Judge(Propositions p)
{
/* // p1: B 第二
// p2: A 第三
// p3: E 第四
// p4: C 第一
// p5: D 第二
// p6: C 第五
// p7: D 第三
// p8: A 第一
// A说对了一半: p1(!p2)∨(!p1)p2 ......①
*/ if((p.p1^p.p2) == 0)
return 0;
/* // B说对了一半: p1(!p3)∨(!p1)p3 ......②
*/ if((p.p1^p.p3) == 0)
return 0;
/* // C说对了一半: p4(!p5)∨(!p4)p5 ......③
*/ if((p.p4^p.p5) == 0)
return 0;
/* // D说对了一半: p6(!p7)∨(!p6)p7 ......④
*/ if((p.p6^p.p7) == 0)
return 0;
/* // E说对了一半: p3(!p8)∨(!p3)p8 ......⑤
*/ if((p.p3^p.p8) == 0)
return 0;
/* // A名次不能同时为第三和第一
*/ if(p.p2 && p.p8)
return 0;
/* // D名次不能同时为第二和第三
*/ if(p.p5 && p.p7)
return 0;
/* // C名次不能同时为第一和第五
*/ if(p.p4 && p.p6)
return 0;
/* // A, C不能同时第一名
*/ if(p.p4 && p.p8)
return 0;
/* // B, D不能同时第二名
*/ if(p.p1 && p.p5)
return 0;
/* // A, D不能同时第三名
*/ if(p.p2 && p.p7)
return 0;
return 1;
}
void Show(Propositions p)
{
printf("0x%X\n", p.val);
if(p.p4)
puts("C -- 1st");
if(p.p8)
puts("A -- 1st");
if(p.p1)
puts("B -- 2nd");
if(p.p5)
puts("D -- 2nd");
if(p.p2)
puts("A -- 3rd");
if(p.p7)
puts("D -- 3rd");
if(p.p3)
puts("E -- 4th");
if(p.p6)
puts("C -- 5th");
return;
}
xiaocai0001
2005-11-27
打赏
举报
回复
标记如下原子命题:
p1: B 第二
p2: A 第三
p3: E 第四
p4: C 第一
p5: D 第二
p6: C 第五
p7: D 第三
p8: A 第一
符号说明:
!: 逻辑否运算, ∧: 逻辑与运算, ∨: 逻辑或运算
(Ⅰ)由各个人只说对了一半可得如下约束条件:
A说对了一半: (p1∧!p2)∨(!p1∧p2)
简记为: p1(!p2)∨(!p1)p2 ......① (下同)
B说对了一半: p1(!p3)∨(!p1)p3 ......②
C说对了一半: p4(!p5)∨(!p4)p5 ......③
D说对了一半: p6(!p7)∨(!p6)p7 ......④
E说对了一半: p3(!p8)∨(!p3)p8 ......⑤
(Ⅱ)同一名次不能有两个人, 得如下约束条件:
p4与p8不能同时成立, 得: !p4∨!p8 ......⑥
p1与p5不能同时成立, 得: !p1∨!p5 ......⑦
p2与p7不能同时成立, 得: !p2∨!p7 ......⑧
(Ⅲ)同一个人不能有两个名次, 得如下约束条件:
p2与p8不能同时成立, 得: !p2∨!p8 ......⑨
p4与p6不能同时成立, 得: !p4∨!p6 ......⑩
p5与p7不能同时成立, 得: !p5∨!p7 ......⑾
最后的答案需要满足如下的命题:
①∧②∧③∧④∧⑤∧⑥∧⑦∧⑧∧⑨∧⑩∧⑾
将上式化为析取范式, 即可得到命题的约束条件的最简形式.
由①∧②得(根据与运算的分配律):
p1(!p2)(!p3)∨(!p1)p2p3 ......⑿
同理对其他表达式进行合并运算
......
最后得到如下结果:
(!p1)(p2)(p3)(!p4)(p5)(p6)(!p7)(!p8)
即: 2,3,5,6原子命题为真, 1,4,7,8为假
p2: A 第三
p3: E 第四
p5: D 第二
p6: C 第五
为真
可以推出比赛结果的名次排列如下:
①B ②D ③A ④E ⑤C
Mr_Yang
2005-11-27
打赏
举报
回复
学习。
deuso
2005-11-27
打赏
举报
回复
上面江大沙锅的程序部分应该加一个括号改成
A1=((B==2||A==3)&&!(B==2&&A==3));
B1=((B==2||E==4)&&!(B==2&&E==4));
C1=((C==1||D==2)&&!(C==1&&D==2));
D1=((C==5||D==3)&&!(C==5&&D==3));
E1=((E==4||A==1)&&!(E==4&&A==1));
就对了
liusdream
2005-11-26
打赏
举报
回复
刚学C,试着写了一个,不对的地方请高手们指点一下:
#include <stdio.h>
void main ( void )
{
int iFori=3125,iA=0,iB=0,iC=0,iD=0,iE=0;
printf("\tA\tB\tC\tD\tE\n");
for (iFori=1;iFori<3126;iFori++)
{
iA=iFori%5;
iB=(iFori/5)%5;
iC=((iFori/5)/5)%5;
iD=(((iFori/5)/5)/5)%5;
iE=((((iFori/5)/5)/5)/5)%5;
if ((1==((2==iB)+(3==iA))) &&
(1==((2==iB)+(4==iC))) &&
(1==((1==iC)+(2==iD))) &&
(1==((0==iC)+(3==iD))) &&
(1==((4==iE)+(1==iD))) &&
(iA!=iB) && (iA!=iC) && (iA!=iD) && (iA!=iE) &&
(iB!=iC) && (iB!=iD) && (iB!=iE) &&
(iC!=iD) && (iC!=iE) &&
(iD!=iE))
{
printf("\t%d\t%d\t%d\t%d\t%d\n",
iA+5>5?iA:iA+5,iB+5>5?iB:iB+5,iC+5>5?iC:iC+5,iD+5>5?iD:iD+5,iE+5>5?iE:iE+5);
}//end if
}//end for
return;
}
加载更多回复(4)
《啊哈!
算法
》
Monday: 第1章 一大波数组正在靠近------排序 第1节 桶排序
简单
的桶排序思想:假设有若干个按大小顺序编号的桶用来存放每个出现数据的次数、假设每个出现数据为小旗子,将每支小旗子插到对应的桶里,通过桶编号大小顺序对小旗子对应数据进行排序。 注意:数据范围为整数0-1000 需要1001个桶 用getchar()或system(“pause”);暂停程序查看输出 在忽略较小常数的合理近...
资料分享:送你一本《数据结构与
算法
JavaScript描述》电子书!
数据结构 是掌握计算机编程必须具备的技能。通常情况下,我想掌握一门编程语言所用的方法就是利用这门语言把数据结构中线性表、栈、队列、字符串、动态数字、整数集合、树、图、搜索、排序等涉及的
算法
全部写一遍。写完之后,基本上就把这门语言
搞定
了。 今天给大家分享的就是我从网上找到的利用 JavaScript 语言来实现各种数据结构的
算法
,希望这本电子书对学习 JavaScript 想从事前端工作的读者有益。...
算法
金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环...
合集 - 机器学习(41)1.
算法
金 | 通透!!十大回归
算法
模型最强总结05-292.
算法
金 | 吴恩达:机器学习的六个核心
算法
!05-303.
算法
金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方05-304.
算法
金 | 突破最强
算法
模型,决策树
算法
!!05-315.
算法
金 | 突破最强
算法
模型!!学会随机森林,你也能发表高水平SCI06-016.
算法
金 | 机器学习模型评价、模型与
算法
选择...
算法
金 | 时间序列预测真的需要深度学习模型吗?是的,我需要。不,你不需要?...
合集 - 机器学习(41)1.
算法
金 | 通透!!十大回归
算法
模型最强总结05-292.
算法
金 | 吴恩达:机器学习的六个核心
算法
!05-303.
算法
金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方05-304.
算法
金 | 突破最强
算法
模型,决策树
算法
!!05-315.
算法
金 | 突破最强
算法
模型!!学会随机森林,你也能发表高水平SCI06-016.
算法
金 | 机器学习模型评价、模型与
算法
选择...
2D小游戏性能优化天花板,复制几个文件
搞定
!绝了!
本公众号由以下老铁赞助,感谢他们❗️01 引言众所周知,小游戏非常强调用户体验,除玩法、题材、美术效果之外,个人认为最重要的一点就是游戏性能体验!然而玩法、题材、美术这些,越是做的好、做的多,往往又与游戏性能体验相冲突,结果背道而驰。如果游戏没玩起来卡顿、不流畅,所有对项目的心血付出,用户只会体验到——不爽!项目做到最后,作为程序只会感受到金玉其外,败絮......哪啥的。我就不说了,过来人都知道...
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章