Code:#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int n,i,temp1,temp2,temp3,temp4,temp5,remainder,j,k,p,count,count2,a; double bits; bits = pow(2,n); printf("Please enter an integer between 1 and 33:"); scanf("%d",&n); bits = pow(2,n); printf("\nNumber n of bits in the integers: %d\n",n); printf("Number of integers with n=4 bits: %d\n",bits); printf("\n\nAll integers with 0 bits equal to 1 listed in ascending order:\n"); i = 1; temp1 = n; temp2 = n; printf("0\t"); while (temp1 != 0) { printf("0"); temp1--; } printf("\n\n"); int l; for(l=1;l<=n;l++) { printf("All integers with %d bits equal to 1 listed in ascending order:\n",l); i=1; while(i != bits) { int temp3 = i; int temp4 = i; int count = 0; while(temp3 != 0) { temp3 = temp3 / 2; count++; } int k = count - 1; int sum = 0; int count3 = 0; while (count != 0) { int power1 = (int) pow(2,k); double power2 = pow(10, k); int a = temp4 / power1; temp4 = temp4 % power1; sum = sum + a * power2; if(a == 1) { count3++; } k--; count --; } int need1 = sum; if (count3 == l) { int f; printf("%d\t",i); count2=0; while (need1 != 0) { need1 = need1 / 10; count2++; } f = n - count2; while(f != 0) { printf("0"); f--; } printf("%d\n",sum); } i++; } printf("\n"); } system("pause"); }