Язык C++: 41x - Анализ программы с циклами и ветвлениями

1. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.
  int x, L, M;
cin >> x;
L = 0; M = 0;
while( x > 0 ) {
L = L + 1;
M = M + x % 10;
x = x / 10;
}
cout << L << endl << M;
Ответ: 
2. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 72.
  int x, a, b;
cin >> x;
a = 0; b = 1;
while( x > 0 ) {
a = a + 1;
b = b*(x % 10);
x = x / 10;
}
cout << a << endl << b;
Ответ: 
3. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 8.
  int x, L, M;
cin >> x;
L = 0; M = 0;
while( x > 0 ) {
L = L + 1;
if( x % 2 == 0 )
M = M + x % 10;
x = x / 10;
}
cout << L << endl << M;
Ответ: 
4. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 8.
  int x, L, M;
cin >> x;
L = 0; M = 0;
while( x > 0 ) {
L = L + 1;
if( x % 2 == 1 )
M = M + x % 10;
x = x / 10;
}
cout << L << endl << M;
Ответ: 
5. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите набольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 24.
  int x, a, b;
cin >> x;
a = 0; b = 1;
while( x > 0 ) {
a = a + 1;
b = b * (x % 8);
x = x / 8;
}
cout << a << endl << b;
Ответ: 
6. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 35.
  int x, a, b;
cin >> x;
a = 0; b = 1;
while( x > 0 ) {
a = a + 1;
b = b*(x % 10);
x = x / 10;
}
cout << a << endl << b;
Ответ: 
7. Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 6, а потом 5.
  int x, a, b;
cin >> x;
a = 0; b = 0;
while( x > 0 ) {
a = a + 2;
b = b + (x % 10);
x = x / 10;
}
cout << a << endl << b;
Ответ: