Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5. int integer; // number to be entered by user
  6. int i, b, n;
  7. unsigned int ones;
  8. printf("Please type in a decimal integern"); // prompt
  9. fflush(stdout);
  10. scanf("%d", &integer); // read an integer
  11.  
  12. if(integer < 0)
  13. {
  14. printf("Input value is negative!"); // if integer is less than
  15. fflush(stdout);
  16.  
  17. return; // zero, print statement
  18. }
  19. else{
  20. printf("Binary Representation:n", integer);
  21. fflush(stdout);} //if integer is greater than zero, print statement
  22.  
  23. for(i = 31; i >= 0; --i) //code to convert inputted integer to binary form
  24. {
  25. b = integer >> i;
  26. if(b&1){
  27. printf("1");
  28. fflush(stdout);
  29. }
  30. else{
  31. printf("0");
  32. fflush(stdout);
  33. }
  34. }
  35. printf("n");
  36. fflush(stdout);
  37. ones = 0; //empty value to store how many 1's are in binary code
  38. while(integer) //while loop to count number of 1's within binary code
  39. {
  40. ++ones;
  41. integer &= integer - 1;
  42. }
  43. printf("Number of 1's in Binary Representation: %dn", ones); // prints number
  44. fflush(stdout); //of ones in binary code
  45. printf("Maximum Block Length: n");
  46. fflush(stdout);
  47. printf("n");
  48. fflush(stdout);
  49. return 0;
  50.  
  51. }//end function main
  52.  
  53. int maxRunLen(uint32_t num) {
  54. int count = 0;
  55. int maxCount = 0;
  56. while(num) {
  57. if(num & 1) count++;
  58. else {
  59. if( count > maxCount) maxCount = count;
  60. count = 0;
  61. }
  62. num >>=1;
  63. }
  64. if( count > maxCount) maxCount = count;
  65. return maxCount;
  66. }
  67.  
  68. num & 1
  69.  
  70. num >>= 1;
  71.  
  72. num = num >> 1;
  73.  
  74. int max_run_of_ones (unsigned x)
  75. {
  76. int max_run = 0;
  77. int cur_run;
  78.  
  79. while (x != 0) {
  80. // skip right-most zeros
  81. while ((x & 1) == 0) {
  82. x >>= 1;
  83. }
  84. // skip and measure right-most run of ones
  85. cur_run = 0;
  86. while ((x & 1) == 1) {
  87. cur_run++;
  88. x >>= 1;
  89. }
  90. if (cur_run > max_run) max_run = cur_run;
  91. }
  92. return max_run;
  93. }
  94.  
  95. import re
  96.  
  97. number = 500
  98. binary_repr = bin(number)[2:] # '111110100'
  99. blocks = re.split(r'0+', binary_repr) # ['11111', '1', '']
  100. block_lengths = [len(x) for x in blocks] # [5, 1, 0]
  101. maximum_block_length = max(block_lengths) # 5
  102.  
  103. import re
  104.  
  105. number = 500
  106. binary_repr = bin(number)[2:] # '111110100'
  107. blocks = re.split(r'0+', binary_repr) # ['11111', '1', '']
  108. block_lengths = [len(x) for x in blocks] # [5, 1, 0]
  109. maximum_block_length = max(block_lengths) # 5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement