×
  • 1. Системы счисления
  • 2. Логические функции
  • 3. Анализ информационных моделей
  • 4. Файловая система и базы данных
  • 5. Кодирование и декодирование. Условие Фано
  • 6. Выполнение и анализ простых алгоритмов
  • 7. Адресация в электронных таблицах
  • 8. Анализ программ с циклами
  • 9. Скорость передачи, объем памяти, время передачи
  • 10. Кодирование, комбинаторика
  • 11. Рекурсивные алгоритмы
  • 12. Адресация в сетях TCP/IP
  • 13. Вычисление количества информации
  • 14. Анализ и выполнение алгоритмов для исполнителя
  • 15. Поиск путей в графе
  • 16. Позиционные системы счисления
  • 17. Запросы в поисковых системах
  • 18. Логические выражения и множества
  • 19. Анализ программы по работе с массивом
  • 20. Анализ программ с циклами
  • 21. Анализ программ с циклами и подпрограммами
  • 22. Динамическое программирование
  • 23. Системы логических уравнений
  • 24. Исправление фрагмента программы и ошибок
  • 25. Программа на обработку массива
  • Спасибо за внимание
  • Условие задачи

    472) Ниже на трех языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 21, а потом 3.

    x = int(input())
    L = 1
    M = 0
    while x > 0:
        M = M + 1
        if x % 2 != 0:
             L = L * (x % 8)
        x = x // 8
    print(L)
    print(M)
    var x, L, M: integer;
    begin
       readln(x);
       L := 1;
       M := 0;
       while x > 0 do begin
         M := M + 1;
         if x mod 2 <> 0 then
            L := L * (x mod 8);
         x := x div 8;
       end;
       writeln(L);
       writeln(M);
    end.
    #include <iostream> 
    using namespace std;  
    int main(){
         int x, L, M;
         cin >> x;
         L = 1;
         M = 0;
         while (x > 0) {
             M = M + 1;
             if(x % 2 != 0) {
                 L = L * (x % 8);
             }
             x = x / 8;
         }
         cout << L << endl;
         cout << M << endl;
         return 0;
    }

    Комментарии