Задача про треугольник информатика

Олимпиадная задача по информатике — Треугольные числа

Задача про треугольник информатика

Здравствуйте! Сегодня разберём олимпиадную задачу по информатике, которая называется треугольные числа.

Задача треугольные числа.

Школьник Никита этим летом отдыхал со своими родителями. Его любимым занятием на пляже было складывать из камешков правильные треугольники (правильным называется треугольник, у которого все стороны равны). Никита и не предполагал, что числа, из которых можно сложить правильный треугольник, называются треугольными. Вот несколько треугольных чисел: 1, 3, 6, 10, … .

Задача про треугольник информатика

Помогите Никите по заданному количеству камешков N найти наибольшую сторону правильного треугольника, который из них можно сложить. Например, если у Никиты 30 камешков, то длина наибольшей стороны правильного треугольника, который из них можно сложить, будет 7.

Задача про треугольник информатика
Тесты для самопроверки:

307
297
287
276
98765432100004444443
92233720368547758074294967295

Рассмотрим треугольные числа. Видим, что первое треугольное число — это просто 1. Второе число — это сумма чисел до 2 (1+2), третье число — сумма чисел до 3 (1+2+3) и т.д.

Задача про треугольник информатика

Плюс ко всему, второе число образует треугольник со стороной 2, третье число со стороной 3 и т.д.

Рассмотрим треугольное число по номером n. Видим, что это сумма арифметической прогрессии.

Задача про треугольник информатика

Свернём по формуле арифметической прогрессии. Число Sn (сумма арифметической прогрессии) в нашей задаче это количество камней, которое вводит пользователь. Число n в данном уравнении обозначает порядковый номер треугольного числа или длину стороны правильного треугольника, который можно составить из данного количества камней.

Остаётся решить данное уравнение относительно n в целых числах, чтобы разгадать нашу задачу.

Задача про треугольник информатика

Последние уравнение это и есть ответ в нашей задаче. Если n — будет дробным, значит мы должны его округлить в меньшую сторону, т.к. наше уравнение решается только в целых числах. (Дробное количество камней не может быть).

Запрограммируем данную задачу на C#

Т.к. число 9223372036854775807 * 8 превышает максимальное число даже для типа ulong, то будем использовать специальный тип BigInteger.

Для того, чтобы использовать BigInteger, нужно в ссылках добавить System.Numerics . И прописать using System.Numerics в программе.

Для этого типа данных не работает стандартная функция извлечения корня Math.Sqrt(), поэтому мы напишем свою функцию извлечения корня основанную на методе Ньютона. Эта функция извлекает корень и округляет результат в меньшую сторону. Об этом методе можете прочитать подробно в статье на этом сайте.

На этом всё, до свидания!

Видео:ВСЕ ТИПЫ 7 заданий | Информатика ЕГЭ 2023 | УмскулСкачать

ВСЕ ТИПЫ 7 заданий | Информатика ЕГЭ 2023 | Умскул

Задача про треугольник информатика

Откройте файл электронной таблицы, содержащей в каждой строке три натуральных числа.

Определите, сколько среди заданных троек чисел таких, которые могут быть сторонами прямоугольного треугольника.

Заметим, что треугольник является прямоугольным, если квадрат длины гипотенузы треугольника будет равен сумме квадратов длин катетов этого треугольника. Тогда в ячейке D1 запишем формулу =(МАКС(A1:C1))^2 и скопируем её во все ячейки диапазона D2:D5000. В ячейке E1 запишем формулу

и скопируем её во все ячейки диапазона E2:E5000. Таким образом, получим квадрат длины гипотенузы и сумму квадратов катетов для каждой тройки чисел. После этого в ячейку F1 запишем формулу =ЕСЛИ(D1=E1;1;0) и скопируем её во все ячейки диапазона F2:F5000. Теперь, воспользовавшись формулой =СУММ(F1:F5000), получим ответ — 2.

Видео:Проблемная 8 задача из ЕГЭ по информатике | Как решать 8 задачи со спискомСкачать

Проблемная 8 задача из ЕГЭ по информатике | Как решать 8 задачи со списком

Определить возможность существования треугольника по сторонам

Задача

Треугольник существует только тогда, когда сумма любых двух его сторон больше третьей.

Дано: a , b , c – стороны предполагаемого треугольника.

Требуется сравнить длину каждого отрезка-стороны с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует.

Решение

Ниже приведены решения задачи на языке программирования Паскаль двумя способами. В первом случае все стороны проверяются в одном операторе if; во втором случае каждое условие проверяется отдельно, а программа содержит вложенные операторы if-else.

Программа 1 (предпочтительный способ решения):

В языке Паскаль логический оператор and имеет приоритет над операторам >, if проверяется, что каждая из сторон меньше суммы других. Если хотя бы одна будет больше, то все логическое выражение вернет ложь ( false ). В таком случае сработает ветка else .

В данном случае существование треугольника проверяется по-этапно. Если первое условие возвращает ложь, то программа переходит к последнему else. Если же первое условие соблюдено, то поток выполнения программы оказывается у вложенного if. Здесь проверяется уже второе условие. Если оно возвращает ложь, то программа переходит к предпоследнему else. Если и второе логическое выражение возвращает истину (true), то программа идет к третьему условию. При его соблюдении выполняется тело самого вложенного оператора if. При его несоблюдении сработает самое вложенное else.

Несмотря на то, что данная программа кажется длиннее, в определенных ситуациях она может выполняться быстрее, чем первая. Здесь если внешнее if возвращает ложь, то остальные логические выражения вообще не проверяются. В первой программе могут и проверяться (это зависит от особенностей языка программирования).

📸 Видео

Задания 9-10 | ЕГЭ по информатике | ДЕМО-2023Скачать

Задания 9-10 | ЕГЭ по информатике | ДЕМО-2023

КАК решить 9 НОМЕР на PYTHON | ПРОЩЕ, чем в Excel | ЕГЭ Информатика 2023Скачать

КАК решить 9 НОМЕР на PYTHON | ПРОЩЕ, чем в Excel | ЕГЭ Информатика 2023

Задание 9 // ЕГЭ по информатике 2022Скачать

Задание 9 // ЕГЭ по информатике 2022

Задание 18 - 25. Треугольник и полосы. ЕГЭ по информатике.Скачать

Задание 18 - 25. Треугольник и полосы. ЕГЭ по информатике.

Таблицы / Эксель / Задания №9 и №3 | Информатика ЕГЭ 2023 | УмскулСкачать

Таблицы / Эксель / Задания №9 и №3 | Информатика ЕГЭ 2023 | Умскул

РАЗБОР ВСЕХ ТИПОВ ЗАДАНИЯ 11 | ИНФОРМАТИКА ЕГЭ | Виктория Ланская | УмскулСкачать

РАЗБОР ВСЕХ ТИПОВ ЗАДАНИЯ 11 | ИНФОРМАТИКА ЕГЭ | Виктория Ланская | Умскул

Задание 6 // КЕГЭ по информатике 2023Скачать

Задание 6 // КЕГЭ по информатике 2023

Все типы решений заданий 19-21 | Информатика ЕГЭ 2023 | УмскулСкачать

Все типы решений заданий 19-21 | Информатика ЕГЭ 2023 | Умскул

Решение 23 задачи ЕГЭ информатика | Рекурсивный алгоритмСкачать

Решение 23 задачи ЕГЭ информатика | Рекурсивный алгоритм

Задание 15 — Задачи, которые все боятся | Информатика ЕГЭ 2023 | УмскулСкачать

Задание 15 — Задачи, которые все боятся | Информатика ЕГЭ 2023 | Умскул

Математика это не ИсламСкачать

Математика это не Ислам

Очень сложно! Как решать 9 задание в ЕГЭ по информатике l Коля Касперский из ВебиумСкачать

Очень сложно! Как решать 9 задание в ЕГЭ по информатике l Коля Касперский из Вебиум

Разбор 5 задания на Python | ЕГЭ-2023 по информатикеСкачать

Разбор 5 задания на Python | ЕГЭ-2023 по информатике

Задание 6 | ЕГЭ по информатике | ДЕМО-2023Скачать

Задание 6 | ЕГЭ по информатике | ДЕМО-2023

Вузак по информатике 2023. Разбор задачи F "Целые треугольники".Скачать

Вузак по информатике 2023. Разбор задачи F "Целые треугольники".

ВСЕ ТИПЫ 4 заданий | Информатика ЕГЭ 2023 | УмскулСкачать

ВСЕ ТИПЫ 4 заданий | Информатика ЕГЭ 2023 | Умскул

Самый короткий тест на интеллект Задача Массачусетского профессораСкачать

Самый короткий тест на интеллект Задача Массачусетского профессора

Все про прямоугольный треугольник. Решаем задачи | Математика | TutorOnlineСкачать

Все про прямоугольный треугольник. Решаем задачи | Математика | TutorOnline
Поделиться или сохранить к себе: