zoukankan      html  css  js  c++  java
  • 漏批了一张试卷,穷举

    学校进行了一次英语考试,共有10道是非题,每题为10分,解答用1表示"是",用0表示"非"的方式。但老师批完卷后,发现漏批了一张试卷,而且标准答案也丢失了,手头只剩下了3张标有分数的试卷。

    试卷一:
    ①   ②   ③   ④   ⑤   ⑥   ⑦   ⑧   ⑨   ⑩
    0    0    1    0    1    0    0    1    0    0      得分:70
    试卷二:
    ①   ②   ③   ④   ⑤   ⑥   ⑦   ⑧   ⑨   ⑩
    0    1    1    1    0    1    0    1    1    1      得分:50
    试卷三:
    ①   ②   ③   ④   ⑤   ⑥   ⑦   ⑧   ⑨   ⑩
    0    1    1    1    0    0    0    1    0    1      得分:30

    待批试卷:
    ①   ②   ③   ④   ⑤   ⑥   ⑦   ⑧   ⑨   ⑩
    0    0    1    1    1    0    0    1    1    1      得分:?
    请编一程序依据这三张试卷,算出漏批的那张试卷的分数。
     
    用穷举吧,反正才10个题...

    #include <cstdio> 

    int bits(int a) // 计算a中有多少个位是1
    {
        
    int c = 0;
        
    for(c = 0; a; c++)
        
    {
            a 
    = a & (a-1);
        }

        
    return c;
    }


    int main()
    {
        
    int i;
        
    int a[4= {0x0a40x1d70x1c50x0e7,};
        
    int s[4= {7530};
        
        
    for(i = 0; i < 1024; i++// 尝试各种答案
        {
            
    if (10 - bits(a[0^ i) == s[0&& // a[0] ^ i 表示按照答案i对a[0]批改,得到1的位为不同的(也就是答错的)题
                10 - bits(a[1^ i) == s[1&&
                
    10 - bits(a[2^ i) == s[2]) // 得分都满足的答案可能是正确答案
            {
                s[
    3= 10 - bits(a[3^ i); // 计算漏批卷子的分数
                printf("%d\n", s[3]);
            }

        }
     
        
    return 0;
    }


    结果很巧,虽然有多种可能的正确答案,但这张卷子都是60分- -
  • 相关阅读:
    behavior planning——15.cost function design weightTweaking
    behavior planning——14.implement a cost function in C++
    behavior planning——13. implement a cost function in C++
    behavior planning——12.example cost funtion -lane change penalty
    发布全局项目
    http
    网址大全
    JSON.parse()和JSON.stringify()
    Ajax+Node分页
    H5移动端的注意细节
  • 原文地址:https://www.cnblogs.com/kaikai/p/229296.html
Copyright © 2011-2022 走看看