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

    Теория по задаче

    Разбор текущей задачи
    Цикл while Python
    Функции. Определение и вызов функции
    Возвращаемое значение функции. Оператор return Python

    Условие задачи

    346) Определите, количество различных чисел K, для которых следующая программа выведет такой же результат, что и для K = 47. Значение k = 47 также включается в подсчёт различных значений k.

    def f(n):
       return n*(n-1) + 10
    
    i = 0
    k = int(input())
    while f(i) < k:
        i += 1
    print(i)
    var i, k: integer;
    function f(n:integer):integer;
    begin
       f:= n*(n-1) + 10;
    end;
    begin
       i := 0;
       readln(k);
       while f(i) < k do 
          i:= i + 1;
       writeln(i);  
    end.
    #include <iostream>
    using namespace std;
    int f(int n) {
    	return n*(n - 1) + 10;
    }
    void main()
    {
    	int i, k;
    	i = 0;
    	cin >> k;
    	while (f(i) < k)
    		i = i + 1;
    	cout << i << endl;
    }