I need help on this.can someone help me tell me what the code is talking about and how to tackle this problem ...the code is suppose to output this .............
[OUTPUT]
Sample outputs
$ a.out
Enter a number at most equal to 1023: 0
Cycling through {}
yields {}.
$ a.out
Enter a number at most equal to 1023: 4
Cycling through {2}
yields {3}.
$ a.out
Enter a number at most equal to 1023: 512
Cycling through {9}
yields {0}.
$ a.out
Enter a number at most equal to 1023: 5
Cycling through {0, 2}
yields {1, 3}.
$ a.out
Enter a number at most equal to 1023: 530
Cycling through {1, 4, 9}
yields {0, 2, 5}.
$ a.out
Enter a number at most equal to 1023: 85
Cycling through {0, 2, 4, 6}
yields {1, 3, 5, 7}.
$ a.out
Enter a number at most equal to 1023: 408
Cycling through {3, 4, 7, 8}
yields {4, 5, 8, 9}.
$ a.out
Enter a number at most equal to 1023: 682
Cycling through {1, 3, 5, 7, 9}
yields {0, 2, 4, 6, 8}.
[/OUTPUT]
This is the code .
Code:#include <stdbool.h> #include <stdio.h> #include <stdlib.h> int cycle(int); void display_set_coded_by(int); int main(void) { int n; printf("Enter a number at most equal to 1023: "); scanf("%d", &n); printf("Cycling through "); display_set_coded_by(n); printf("\n yields "); display_set_coded_by(cycle(n)); puts("."); return EXIT_SUCCESS; } void display_set_coded_by(int n) { printf("{"); bool digits_found = false; for (int i = 0; i < 10; ++i) if (n & 1 << i) { printf("%d, ", i); digits_found = true; } if (digits_found) printf("\b\b"); putchar('}'); } int cycle(int n) { /* ... REPLACE THIS COMMENT WITH YOUR CODE ..