В условиях задачи сказано, что сначало выведется L=3, а затем M=7. По программе видно, что для того, чтобы L равнялось 3 необходимо 3 итерации цикла while. По строке "x:= x div 10;" видно, что число x должно быть трёхзначным для того, чтобы L = 3. С этим разобрались. Теперь к числу M. Оно зависит только от этой строчки "M:= M + (x mod 10) div 2;". Это означает, что возьмётся часть слева и поделится на 2, а затем прибавится к M. И только при условии, что цифра числа, на которой остановился цикл while, чётная. Методом подбора можно найти такое максимально возможное трёхзначное число. Это 149.