什麼呢這段代碼的意思是......誰能解釋如何工作的..位運算
sum += (i & (1<<j)) != 0 ? n[j] : 0;
全碼:
int max = (1 << N)-1;
//System.err.println(max);
String res = "No";
for (int i = 0; i <= max; i++)
{
long sum = 0;
for (int j = 0; j < N; j++)
{
sum += (i & (1<<j)) != 0 ? n[j] : 0;
}
//System.err.println(i + " " + sum);
if(sum == m){
res = "Yes";
break;
}
thnx爲簡短和描述性的答案.. – Subhash