画家购买颜料

package second;

import java.util.Scanner;

/*

  • 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。
  • 为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要
  • 的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证
  • 能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样
  • 的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜
  • 料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约
  • 的精神,你想购买更少的颜料就满足要求,所以兼职程序员的你需要编程来
  • 计算出最少需要购买几种颜色的颜料?
    输入描述:
    第一行为绘制这幅画需要的颜色种数n (1 ≤ n ≤ 50)
    第二行为n个数xi(1 ≤ xi ≤ 1,000,000,000),表示需要的各种颜料.
输出描述:
输出最少需要在商店购买的颜料颜色种数,注意可能购买的颜色不一定会使用在画中,只是为了产生新的颜色。

输入例子1:
3
1 7 3

输出例子1:
3
  • */
    public class FaceTwelve {
public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    int n=input.nextInt();
    int[] value=new int[n];
    
    for(int i=0;i=0&&value[i]>0;j--){//从后往前计算第0位的值
            bitArray[i][j]=value[i]&1;
            value[i]>>=1;//向下一位移动,原本0   现在1->以便计算
        }
    }
    return bitArray;
}

}

你可能感兴趣的:(画家购买颜料)