`
cfan1874
  • 浏览: 42615 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

A、B、C、D、E五名学生有可能参加计算机竞赛,根据条件判断哪些人参加了竞赛

阅读更多
A、B、C、D、E五名学生有有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛:
(1)A参加时,B也参加;
(2)B和C只有一个人参加;
(3)c和d或者都参加,或者都不参加;
(4)d和e至少有一个人参加;

(5)如果e参加,那么a和d也都参加;


class Program
    {
        static void Main(string[] args)
        {
             Dowork();
        }
        public static  void Dowork()
        {
            for (int i = 0; i < 32; i++)
            {
                if (Logic(i))
                {
                    Console.Write("A:{0},B:{1},C:{2},D:{3},E:{4}", ((i & 16) >> 4) == 1 ? true : false, ((i & 8) >> 3) == 1 ? true : false, ((i & 4) >> 2) == 1 ? true : false, ((i & 2) >> 1) == 1 ? true : false, ((i & 1)) == 1 ? true : false);
                    Console.ReadKey();
                }
            }
        }

        public static bool Logic(int exp)
        {
            bool a = Convert.ToBoolean((exp & 16) >> 4);
            bool b = Convert.ToBoolean((exp & 8) >> 3);
            bool c = Convert.ToBoolean((exp & 4) >> 2);
            bool d = Convert.ToBoolean((exp & 2) >> 1);
            bool e = Convert.ToBoolean(exp & 1);
            if (a == b && b != c && c == d && !(d == false && e == false))
            {
                if (e == true)
                {
                    if (a == true && d == true)
                    {
                        return true;
                    }
                    else
                        return false;
                }
                else
                    return true;
            }
            return false;
        }

    }


难点在
              bool a = Convert.ToBoolean((exp & 16) >> 4);
            bool b = Convert.ToBoolean((exp & >> 3);
            bool c = Convert.ToBoolean((exp & 4) >> 2);
            bool d = Convert.ToBoolean((exp & 2) >> 1);
            bool e = Convert.ToBoolean(exp & 1);

简单解释:a,b,c,d,e参加了为true,反之false   用0  1表示;  所以总共就有32种情况 :       a  b  c  d  e
            0  0  0  0  0
            0  0  0  0  1
          0  0  0  1  0
               .
               .
               .
          1  1  1  1  1
这样的32种情况。  
得到a的二进制值:(exp & 16) >> 4);    这个还不晓得怎么解释,自己先想,联合上面的表想!!不难想到!
分享到:
评论

相关推荐

    [详细完整版]计算机竞赛.txt

    A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛: (1)A参加时,B也参加; (2)B和C只有一个人参加; (3)C和D或者都参加,或者都不参加; (4)D和E中至少有一...

    76道经典C++题目及答案.rar

    A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些 人参加了竞赛: (1)A参加时,B也参加; (2)B和C只有一个人参加; (3)C和D或者都参加,或者都不参加; (4)D和...

    C语言篮球杯试题明细及答案说明附件.docx

    A、B、C、D、E五名学生可能参加计算机竞赛,根据以下条件判断哪些人参加了竞赛: 1. 如果A参加,则B也参加; 2. B和C只有一个人参加; 3. C和D要么都参加,要么都不参加; 4. D和E中至少有一个人参加; 5. 如果E参加...

    上海电机学院C语言实训答案

    (27)有一堆鱼,由A、B、C、D、E五人先后进行分配。A第一个到来,他将鱼平分作5份,把多余的一条扔回湖中,拿走自己分好的一份回家去了;B第二个到来,也将鱼平分为5份,扔掉多余的一条,只拿走自己分好的一份;...

    2018余姚市程序设计竞赛小学组初赛试题

    对于先根遍历A B C D E F和后根遍历F E D C B A,中根遍历可能是B A C E D F。 这些题目旨在测试小学生对计算机基础知识的掌握程度,涵盖范围广泛,既包括理论知识,也有实际应用的技能。通过这样的竞赛,可以激发...

    这是芜湖市镜湖区的信息学市赛的一份模拟卷

    1. 第一段代码是条件分支,根据输入的a+b的值决定是否修改a,最后输出d-c的值。 2. 第二段代码是循环结构,用于处理整数除法并打印余数。 3. 第三段代码是一个递归函数,用于计算斐波那契数列。 这些题目覆盖了信息...

    第四届吉林省大学生程序设计竞赛

    ### 第四届吉林省大学生程序设计竞赛 #### 一、赛事概览 第四届吉林省大学生程序设计竞赛(以下简称“省赛”)于2010年3...这些竞赛题目不仅有助于提升学生的理论知识水平,还能够增强他们在未来职业生涯中的竞争力。

    NOIP普及组初赛历年试题及答案选择题篇CSP竞赛比赛CSP考级.pdf

    - **选项**: A.1600 B.2000 C.4000 D.16000 - **知识点解析**: - 存储单位的基本换算关系为: 1GB = 1024MB。 - 8GB = 8 * 1024 MB = 8192 MB。 - 每张照片占用的空间为 2MB, 因此可以计算出: 8192 / 2 = 4096 张...

    算法分析中级训练

    **题目描述**:根据五个学生(A、B、C、D、E)参加计算机竞赛的条件,判断哪些学生会参加比赛。 **解题思路**:这是一个典型的逻辑推理问题,可以通过构建逻辑表达式的方式来解决。将每个条件转换为逻辑表达式,...

    NOIP2008初赛普及组C++题目及答案.docx

    若元素a, b, c, d, e, f依次入栈并按b, d, f, e, c, a的顺序出栈,说明栈至少需要能同时容纳3个元素(例如b, d, f)。 8. **进制转换**:将十进制数转换为其他进制,例如四进制。 9. **字符串子串**:一个字符串的...

    2013南桥杯软件大赛高职组题目完整

    - **变量求解**:如何通过已知条件推导出未知数a、b、c、d、e的具体值。 - **逻辑推理**:通过对已给算式的观察和分析,找到解决问题的关键线索。 #### 题目二:算式重构与求解 - **题目概述**:要求参赛者根据...

    第十一届蓝桥杯大赛软件类决赛C语言试题.pdf

    蓝桥杯大赛是国内著名的计算机和软件类竞赛,主要面向大学生,考试内容涵盖算法与程序设计。这次提供的文件是第十一届蓝桥杯软件类决赛的C语言试题,包含了多个问题和对解题的具体要求。 首先,关于考试的规定,...

    2017年全国青少年信息学奥林匹克联赛初赛

    16. 出栈序列g, f, e, d, c, b, a是不可能的,因为栈是后进先出的数据结构,e不能在f之前出栈。 17. 归并排序的最坏情况比较次数是2n - 1。 18. 从2020年开始,NOIP竞赛不再支持Pascal语言。 19. 四个人生日在同...

    C入门76题

    本题给出了五个关于A、B、C、D、E五名学生参加计算机竞赛的情况描述,并要求根据这些条件推断出哪些学生参加了比赛。 **解题思路:** 1. **建立关系模型:** 首先根据题目条件列出所有可能的关系组合。 2. **逻辑...

    ACM算法基础模板

    13. **圆内接四边形面积公式**:$K = \sqrt{(s-a)(s-b)(s-c)(s-d)}$,其中$s$为半周长。 14. **基础数论公式**:包括了基本的质数、最大公约数等概念及公式。 #### 三、大数模板 这部分涉及到了处理大数时的一些...

Global site tag (gtag.js) - Google Analytics