C# Красивые решения задач.
Шифровка-дешифровка. Не решена. Кликните здесь для просмотра всего текста
О, боги C#, помогите мне, прошу вас! Мюллер много раз пытался поймать Штирлица с поличным, но тот всё время выкручивался. Как-то раз Штирлиц просматривал электронную почту. В это время незаметно вошел Мюллер и увидел, как у Штирлица на экране появился бессмысленный набор символов. — Шифровка, — подумал Мюллер. —UTF-8, — подумал Штирлиц. Известно, что Штирлиц шифрует текст следующим образом: 1.Убирает все символы, отличные от букв, включая пробелы. Буквы приводятся к одному регистру. 2.Заменяет все подряд идущие одинаковые буквы на одну такую букву. 3.Многократно вставляет в произвольное место текста две случайные одинаковых буквы. Напишите метод шифрования. Количество вставок — случайно число от n до 3n, где n— длина строки. Место каждой вставки выбирается случайно. Напишите метод дешифровки с использованием подходящей структуры данных (в результате получится текст, каким он был после второго этапа). Напишите модульные тесты методов. Напишите основную программу, которая запрашивает текст и выдает зашифрованное и расшифрованные сообщения. Примеры: stierlitz - wwstdaadierfflitzzz - stierlitz A little bee - rrasspplzzitlqqeeebyyggeccbb - alitlebe Дележ яблок Кликните здесь для просмотра всего текста
n школьников делят k яблок “поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам, отличалось бы не более, чем на 1. Программа получает на вход числа n и k. Программа должна вывести количество школьников, которым достанется яблок меньше, чем некоторым из их товарищей. При решении этой задачи нельзя пользоваться условной инструкцией if и циклами.
За день машина проезжает n километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров? Кликните здесь для просмотра всего текста
При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. Программа получает на вход натуральные числа n и m, не превосходящие 10000.
Промежуток времени Кликните здесь для просмотра всего текста
Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, минуты и секунды для каждого из моментов времени. Известно, что второй момент времени наступил не раньше первого. Определите, сколько секунд прошло между двумя моментами времени.
Программа на вход получает три целых числа — часы, минуты, секунды, задающие первый момент времени и три целых числа, задающих второй момент времени. Выведите число секунд между этими моментами времени.
Длина кольцевой дороги — 109 километров. Байкер Вася стартует с нулевого километра и едет со скоростью v километров в час. На какой отметке он остановится через t часов? Кликните здесь для просмотра всего текста
Входные данные Программа получает на вход значения v и t. Если v>0, то Вася движется в положительном направлении по кольцу, если же значение v<0, то в отрицательном. Выходные данные Программа должна вывести целое число от 0 до 108 — номер отметки, на которой остановится Вася.
Дано натуральное число. Выведите его последнюю цифру. Кликните здесь для просмотра всего текста
Дано двузначное положительное или отрицательное число. Найдите число десятков в нем. Ответ положительное число Кликните здесь для просмотра всего текста
Дано трехзначное число (оно может быть отрицательным). Найдите сумму его цифр. Кликните здесь для просмотра всего текста
Электронные часы Кликните здесь для просмотра всего текста
Электронные часы показывают время в формате h:mm:ss, то есть сначала записывается количество часов, потом обязательно двузначное количество минут, затем обязательно двузначное количество секунд. Количество минут и секунд при необходимости дополняются до двузначного числа нулями.
С начала суток прошло n секунд. Выведите, что покажут часы. Вводится целое число n.
Расписание уроков. Кликните здесь для просмотра всего текста
В некоторой школе занятия начинаются в 9:00. Продолжительность урока — 45 минут, после 1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут. Определите, когда заканчивается указанный урок.
Дан номер урока (число от 1 до 10). Выведите два целых числа: время окончания урока в часах и минутах. При решении этой задачи нельзя пользоваться циклами и условными инструкциями. В минута ведущий ноль не нужен.
Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков. Кликните здесь для просмотра всего текста
Программа получает на вход три числа: a, b, n.
Программа должна вывести два числа: стоимость покупки в рублях и копейках.
|
Всего комментариев 6
Комментарии
-
Запись от Tavashi размещена 04.05.2022 в 16:18 -
> (109 + (v * t % 109))%109
тройное упоминание "109" и два деления.
A есть ли в C/C++ встроенный или библиотечный "правильный" модуль, а не остаток?
> Дано трехзначное число (оно может быть отрицательным). Найдите сумму его цифр.
C++ 1
abs(n+n/10+n/100)%10
Запись от QueryMonkey размещена 04.05.2022 в 20:05 -
Спасибо.
Красота условная. Для профи-поржать. Ну а для нубаса, все что короче страницы текста, да еще и с незнакомыми словами-все красиииивое )) Бложик для себя, просто не разобрался, как его скрыть чтобы людей не пугать. Да и зачем, может забредет кто, и поделится красивым.Запись от Leshakk размещена 04.05.2022 в 21:49 -
Запись от _lunar_ размещена 09.05.2022 в 20:15 -
А, тогда лови: вычисляет вес числа (количество бит)
Работает даже с отрицательнымиC++ 1 2 3 4
int n = 35, i = 0; while( n && ++i ) n &= n-1; printf( "%d\n", i );
Запись от QueryMonkey размещена 09.05.2022 в 21:46 -
Запись от Leshakk размещена 09.05.2022 в 21:51