×
  • 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. Программа на обработку массива
  • Спасибо за внимание
  • Условие задачи

    192) Ниже представлена реализация рекурсивной процедуры на трех языках программирования:

    def f(n):
      if n>0:
        if n % 2 != 0:
           print('!'*(n%10))
        else:
           print('?'*(n%10))
        f(n//10)
    procedure f(n:integer);
    begin
     if n>0 then begin
       if n mod 2 <>0 then
        writeln('!'*(n mod 10))
       else
         writeln('?'*(n mod 10));
       f(n div 10);
     end;
    end;
    void f(int n) {
    	if (n > 0) {
    		if (n % 2 != 0)
    			cout << '!'*(n % 10);
    		else
    			cout << '?'*(n % 10);
    		f(n / 10);
    	}
    }

    Сколько символов ? будет всего распечатано на экране при вызове f(865432) ?


    Комментарии