Program.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /*
  2. d = a
  3. c = 11
  4. b = 231 <-----+
  5. d++; <------+ |
  6. b--; | |
  7. goto (b) 4 -+ |
  8. c--; |
  9. goto (c) 3 ---+ <---------+
  10. a = d; |
  11. |
  12. //Nothing happens <-----+ |
  13. b = a; | |
  14. a = 0; | |
  15. c = 2; <-----------+ | |
  16. goto (b) 17 -+ <-+ | | |
  17. goto 23 | | | -+ | |
  18. b--; <-------+ | | | | |
  19. c--; | | | | |
  20. goto (c) 15 -----+ | | | |
  21. a++; | | | |
  22. goto 14 -----------+ | | |
  23. | | |
  24. b = 2; <--------------+ | |
  25. goto (c) 26 -+ <-+ | |
  26. goto 29 | | -+ | |
  27. b--; <-------+ | | | |
  28. c--; | | | |
  29. goto (c) 24 -----+ | | |
  30. //Nothing happens <-+ | |
  31. Console.Write(b); | |
  32. goto (a) 11 ------------+ |
  33. goto 8 -------------------+
  34. ========
  35. PARTIE1 :
  36. int d = a;
  37. for (int c = 0 ; c < 11 ; ++c)
  38. {
  39. for (int b = 0 ; b < 231 ; ++b)
  40. {
  41. d++;
  42. }
  43. } // d += 231 * 11; // d += 2541;
  44. a = d;
  45. PARTIE2 :
  46. b = a;
  47. a = 0;
  48. while (true)
  49. {
  50. c = 2;
  51. do
  52. {
  53. if (b == 0)
  54. goto AFTER;
  55. b--;
  56. c--;
  57. } while (c != 0);
  58. a++;
  59. }
  60. // c = 2 - a % 2;
  61. // a /= 2;
  62. AFTER:
  63. b = 2;
  64. while (c > 0)
  65. {
  66. b--;
  67. c--;
  68. }
  69. Console.Write(b);
  70. if (a > 0) goto PARTIE2;
  71. goto PARTIE1;
  72. ========
  73. d = a;
  74. while (true)
  75. {
  76. a = d + 2541;
  77. while (a > 0)
  78. {
  79. c = 2 - a % 2;
  80. a /= 2;
  81. b = 2 - c;
  82. Console.Write(b);
  83. }
  84. }
  85. ========
  86. d = a;
  87. while (true)
  88. {
  89. a = d + 2541;
  90. while (a > 0)
  91. {
  92. b = a % 2;
  93. a /= 2;
  94. Console.Write(b);
  95. }
  96. }
  97. ======>
  98. */
  99. /*
  100. Réponse : On cherche un nombre additionné à 2541 dont la représentation binaire (12 bits)
  101. et constitué d'une succession de 0 & 1.
  102. 010101010101 -> 1365 -> Trop petit
  103. 101010101010 -> 2730 -> OK
  104. */
  105. // La réponse est : (2730 - 2541) 189