для меня, я буду решать его следующим образом (грубой силы), (не идеальное решение): http://ideone.com/d37KDK
#include <stdio.h>
void showbits(int n)
{
int i,k,andmask;
for(i=31;i>=0;i--)
{
andmask = 1 << i;
k = n & andmask;
k == 0 ? printf("0") : printf("1");
}
printf("\n");
}
int numberOfOnes (int num) {
int count = 0;
unsigned int u = (unsigned int)num;
while (u != 0) {
if ((u&1) == 1)
count++;
u >>= 1;
}
return count;
}
int main()
{
int n = 0b110011111;
int n_num_of_ones = numberOfOnes(n);
int max = 1 << 30;
printf("max=%d\n" , max);
int i;
for(i = 0; i < max ; i++)
if(numberOfOnes(i) == n_num_of_ones)
showbits(i);
return 0;
}
Пожалуйста, выберите любой язык. –
и предоставить код, который вы пробовали и не выполнили. Это не «сделать мой домашний сайт» – mfro
Что? Я не понимаю – tim