fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int MAX = 1000;
  4. // Inverte um número(123 -> 321).
  5. void inverte(char m[], int t) {
  6. int i = 0, j = t - 1;
  7. char aux[10];
  8. while(j > i) {
  9. aux[0] = m[i];
  10. m[i] = m[j];
  11. m[j] = aux[0];
  12. i++;
  13. j--;
  14. }
  15. }
  16. int main () {
  17. int n;
  18. scanf("%d", &n);
  19. for (int k = 0; k < n; k++) {
  20. int b, e;
  21. scanf("%d %d", &b, &e);
  22. int vec[MAX];
  23. int aux = 0;
  24. for (int i = b; i <= e; i++) {
  25. vec[aux] = i;
  26. aux++;
  27. }
  28. char prin[MAX];
  29. int auxx = 0;
  30. for (int i = 0; i < aux; i++){
  31. if (vec[i] < 10) {
  32. prin[auxx] = vec[i];
  33. auxx++;
  34. }
  35. else if (vec[i] >= 10 && vec[i] < 100) {
  36. // Primeiro digito =
  37. int au = vec[i] / 10;
  38. prin[auxx] = au;
  39. auxx++;
  40. // Segundo digito =
  41. int ux = vec[i] - (au * 10);
  42. prin[auxx] = ux;
  43. auxx++;
  44. }
  45. else if (vec[i] >= 100 && vec[i] < 1000) {
  46. // Primeiro digito -=
  47. int au = vec[i] / 100;
  48. prin[auxx] = au;
  49. auxx++;
  50. // Segundo digito =
  51. int ux = vec[i] - (au * 100);
  52. int auu = ux / 10;
  53. prin[auxx] = auu;
  54. auxx++;
  55. // Terceiro digito =
  56. int uxx = ux - (auu * 10);
  57. prin[auxx] = uxx;
  58. auxx++;
  59. }
  60. else if (vec[i] >= 1000 && vec[i] < 10000) {
  61. // Primeiro Digito =
  62. int au = vec[i] / 1000;
  63. prin[auxx] = au;
  64. auxx++;
  65. // Segundo Digito =
  66. int ux = vec[i] - (au * 1000);
  67. int auu = ux / 100;
  68. prin[auxx] = auu;
  69. auxx++;
  70. // Terceiro Digito =
  71. int uxx = ux - (auu * 100);
  72. int aau = uxx / 10;
  73. prin[auxx] = aau;
  74. auxx++;
  75. // Quarto Digito =
  76. int uux = uxx - (aau * 10);
  77. prin[auxx] = uux;
  78. auxx++;
  79. }
  80. else if (vec[i] >= 10000 && vec[i] < 1000000) {
  81. // Primeiro Digito =
  82. int au = vec[i] / 10000;
  83. prin[auxx] = au;
  84. auxx++;
  85. // Segundo Digito =
  86. int ux = vec[i] - (au * 10000);
  87. int auu = ux / 1000;
  88. prin[auxx] = auu;
  89. auxx++;
  90. // Terceiro Digito =
  91. int uxx = ux - (auu * 1000);
  92. int aau = uxx / 100;
  93. prin[auxx] = aau;
  94. auxx++;
  95. // Quarto Digito =
  96. int uuxx = uxx - (aau * 100);
  97. int aauu = uuxx / 10;
  98. prin[auxx] = aauu;
  99. auxx++;
  100. // Quinto Digito =
  101. int uuxxx = uuxx - (aauu * 10);
  102. prin[auxx] = uuxxx;
  103. auxx++;
  104. }
  105. }
  106. char prino[MAX];
  107. for (int i = 0; i < auxx; i++) {
  108. prino[i] = prin[i];
  109. }
  110. inverte(prino, auxx);
  111. printf("%s%s\n", prin, prino);
  112. }
  113.  
  114. return 0;
  115. }
Success #stdin #stdout 0s 4428KB
stdin
3
1 5
10 13
98 101
stdout