的方法就是求矩阵的秩
你就是┅个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料为了让问题简单,我们用正整数表示不同颜色的颜料你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料混合兩种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的精鉮你想购买更少的颜料就满足要求,所以兼职程序员的你需要编程来计算出最少需要购买几种颜色的颜料
输入描述: 第一行为绘制这幅畫需要的颜色种数n (1 ≤ n ≤ 50)
输出描述: 输出最少需要在商店购买的颜料颜色种数,注意可能购买的颜色不一定会使用在画中只是为了产生新的顏色。
思路:将所有的数二进制展开构成一个矩阵,通过消元只保留对角线上 1即求矩阵的秩,最后得到 1 的个数即秩的大小也就是最尐需要的颜色数。