1.找出一个数组中满足2^N的元素
#include <iostream> using namespace std; int find(int a[],int len); void main() { int a[]={1,2,3,5,7,8,16}; int len=sizeof(a)/sizeof(int); cout<<find(a,len)<<endl; } int find(int a[],int len) { int i; int count=0; for(i=0;i<len;i++) { if(0==(a[i]&(a[i]-1))) //与运算之后为0,说明是2的幂 count++; } return count; }