27 (в 2015 - 27, в 2014 - С4) Пример задания
Вам необходимо написать программу распознавания чисел, записанных прописью. Сначала на вход программе подается обучающий блок, состоящий из 27 строк. Первые 9 строк содержат слова «один», «два», …, «девять», следующие 9 строк – слова «одиннадцать», «двенадцать», … «девятнадцать», следующие 9 строк – слова «десять», «двадцать», …, «девяносто». Все слова записаны маленькими русскими буквами без лишних пробелов в начале и в конце строки.
Затем на вход программе подается значение N – количество записей, которые необходимо обработать. Следующие N строк содержат записанные словами числа. Каждое число записано по-русски, маленькими буквами, без ошибок. Если число состоит из нескольких слов, между словами находится ровно один пробел, лишних пробелов в начале и в конце строк нет.
Напишите эффективную программу, которая определит количество четных входных чисел, которые находятся в интервале от 1 до 99.
Размер памяти, которую использует Ваша программа, не должен зависеть от длины исходного списка.
Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
Пример входных данных (обучающий блок показан в примере с сокращениями):
один два … девяносто 6 двадцать восемь два миллиона четырнадцать сто двадцать три сорок пять тысяча девятьсот восемьдесят четыреПример выходных данных для приведенного выше примера входных данных:
2
5 комментариев
Мда... С базой, которая дается в нашей школе, часть С вообще нереально решить. Надеюсь до мая разберусь мал-мало...
А что дают в твоей школе? На каком языке вас учат программировать? Напиши, постараемся помочь. Удачи!
в примере входных данных написаны тысячи и миллионы, а в вводном блоке таких цифр нету. Это значит надо вводить самому сотни, тысячи, миллионы и т.д. ?
Это значит, что программу нужно отлаживать на каких-то разумных данных - конечно, не на миллионах. В принципе, можно при задаче выкладывать тестовые данные. Так никто (насколько я знаю) на учебных сайтах не делал, но идея хорошая. Спасибо!
Зачем? Этим ты только программу делаешь более громоздкой и память забиваешь-у тебя ведь промежуток [1..99]=>все остальные числа отбрасываются...