duplicityyy

[C] - Бинарни броеви

Nov 17th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.41 KB | None | 0 0
  1. /*
  2.  
  3. Од стандарден влез се читаат два цели броеви N и M. Потоа се читаат уште N бинарни броеви. На стандарден излез да се испечатат:
  4.  
  5. сите броеви (во нивната бинарна и декадна репрезентација) кои што се поголеми од бројот M
  6. најголемиот број ( во негова бинарна и декадна репрезентација)
  7. Пример: бројот 1101=1⋅20+0⋅21+1⋅22+1⋅23=1+4+8=13
  8.  
  9. Input:
  10. 5 100
  11. 1111
  12. 1101
  13. 1111011
  14. 11010001
  15. 11111100
  16.  
  17. Output:
  18. 1111011 123
  19. 11010001 209
  20. 11111100 252
  21. Max: 11111100 252
  22.  
  23. */
  24.  
  25. #include <stdio.h>
  26. #include <math.h>
  27.  
  28. int convertBinary(long n) {
  29.     int dekadenBroj = 0, i = 0, ostatok;
  30.  
  31.     while (n != 0) {
  32.         ostatok = n % 10;
  33.         dekadenBroj += ostatok * pow(2, i);
  34.         n /= 10;
  35.         ++i;
  36.     }
  37.  
  38.     return dekadenBroj;
  39. }
  40.  
  41. int main() {
  42.     int nn, m;
  43.     int dekBroj = 0, max = 0, maxN = 0;
  44.     scanf("%d%d", &nn, &m);
  45.     int n;
  46.     while (nn != 0) {
  47.         scanf("%d", &n);
  48.         dekBroj = convertBinary(n);
  49.         if (max < dekBroj) {
  50.             max = dekBroj;
  51.             maxN = n;
  52.         }
  53.         if (dekBroj > m) {
  54.             printf("%d %d\n", n, dekBroj);
  55.         }
  56.  
  57.         nn--;
  58.     }
  59.  
  60.     printf("Max: %d %d", maxN, max);
  61. }
Add Comment
Please, Sign In to add comment