document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. //
  2. //  ADDREV.c
  3. //  42. Adding Reversed Numbers
  4. //
  5. //  Created by Catarina Moreira on 09/01/13.
  6. //  Copyright (c) 2013 Catarina Moreira. All rights reserved.
  7. //
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11.  
  12. /* ******************** FUCNTION DECLARATIONS ******************** */
  13.  
  14. // Function that reverses a number
  15. unsigned long long reverse(unsigned long long num);
  16.  
  17. /* ******************** MAIN FUCNTION ******************** */
  18.  
  19. int main(int argc, const char * argv[])
  20. {
  21.      int NUM_TESTS;
  22.    
  23.      scanf("%d", &NUM_TESTS);       // read total test cases from input
  24.  
  25.      int t;
  26.      for (t = 0; t < NUM_TESTS; t++)
  27.      {
  28.           unsigned long long INPUT_1;
  29.           unsigned long long INPUT_2;
  30.    
  31.           scanf("%llu %llu", &INPUT_1, &INPUT_2);           // read input data
  32.            
  33.           unsigned long long int_result;
  34.       int_result = reverse(INPUT_1) + reverse(INPUT_2);     // sum reversed numbers
  35.            
  36.           printf("%llu\\n", reverse(int_result));            // output reversed sum
  37.      }
  38.      return EXIT_SUCCESS;
  39. }
  40.  
  41. /* ******************** AUXILIARY FUNCTIONS ******************** */
  42.  
  43. // Function that reverses a number
  44. unsigned long long reverse(unsigned long long my_num)
  45. {
  46.      unsigned long long reversed_num = 0;
  47.  
  48.      while ( my_num )
  49.      {
  50.           reversed_num = reversed_num * 10 + (my_num % 10);
  51.           my_num = my_num / 10;
  52.      }
  53.      return reversed_num;
  54. }
');