Kondratchik Vladimir
?>

Написать программу, которая выводит текстовое описание числа. на вход числа от 100 до 399. на выходе число текстом. например, на вход 217 вывод: «двести семнадцать»

Информатика

Ответы

omraleva
Program rtr1;Uses crt;var a,s,d,e:integer;    ss,dd,ee:string;beginclrscr;Writeln('Введите число от 100 до 399');readln(a);s:=a div 100;e:=a  mod 100 mod 10;d:=a div 10 mod 10;case s of1: ss:='сто';2: ss:='двести';3: ss:='триста';end;case d of2: dd:='двадцать';3: dd:='тридцать';4: dd:='сорок';5: dd:='пятьдесят';6: dd:='шестьдесят';7: dd:='семьдесят';8: dd:='восемьдесят';9: dd:='девяносто';end;case e of1: ee:='один';2: ee:='два';3: ee:='три';4: ee:='четыре';5: ee:='пять';6: ee:='шесть';7: ee:='семь';8: ee:='восемь';9: ee:='девять';end;if d=1 then begin   case e of   1: dd:='одинадцать';   2: dd:='двенадцать';   3: dd:='тринадцать';   4: dd:='четырнадцать';   5: dd:='пятнадцать';   6: dd:='шестнадцать';   7: dd:='семнадцать';   8: dd:='восемнадцать';   9: dd:='девятнадцать';   end;write(ss,' ',dd);end elsewrite(ss,' ',dd,' ',ee);

end.
zverevahelen
1. Отметим, что оба получающихся числа независимы друг от друга, поскольку первое строится из нечетных цифр исходного пятизначного числа, а правое - из четных.
2. Первое число - сумма трех цифр, следовательно его величина может быть в пределах от 0+0+0=0 до 9+9+9=27. Второе число - сумма двух цифр, поэтому его величина может быть в пределах от 0+0=0 до 9+9=18. На этом основании бракуем все числа, у которых вторая цифра больше 27 и/или первая цифра больше 18.
Таким образом вычеркиваем 1030, 2019, 1920, 3010.
3. 40 - не подходит (4,0), нарушен порядок неубывания, 130 - не подходит (13,0), 1320 - (13,20) - подходит, нарушен порядок неубывания, 2013 - не подходит (20,13), нарушен порядок неубывания, 213 - подходит (2,13).
ответ: 2 числа.
grenysherg2873
Для начала,надо посмотреть условие задачи,у нас в задаче условие такого: не должно быть чисел больше 27 и 18(т.к. Смотри первый пункт задачи. И числа должны быть записаны по неубыванию,то есть либо по возрастанию,либо должны быть равны друг другу(например,как 1616,1414,2424 и тд.). Следующий шаг будет,рассмотрим числа,которые нам предложены
1) первое число это 40. Делим число 40 на два числа это 4 и 0. 4 и 0 мы можем использовать по условию задачи по первому пункту,но ко второму пункту он не подходит,потому что записан в порядке убывания,а как мы уже поняли по условию,числа должны быть записаны в порядке не убывания(2 пункт задачи)
2) смотрим второе число 1030 ,делим его на два числа 10 и 30, это число нам не подходит,потому что в нём присутствует число 30,а число 30 нам нельзя использовать по условию задачи (1 пункт)
3) смотрим на 3 число 130,разделили его на два числа( мы его можем разделить двумя первый это 1 и 30,в этом случае он нам не подойдёт, второй и 0) в этом случае он нам подойдёт по первому пункту,но нужно проверит второй пункт число 13 и 0 записаны по убыванию,по второму пункту это число не подходит так как в условии говорится что числа должны быть записаны непоубыванию(а если не по убыванию ,то следовательно это или по возрастанию либо должны быть равны друг другу(например 1616,1515,1414 и тд.)
И так надо брать каждое число и про гонять его по условию задания,и потом посчитать количество чисел которые подошли по условию это и будет ответ
Если что-то не понятно уточню

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу, которая выводит текстовое описание числа. на вход числа от 100 до 399. на выходе число текстом. например, на вход 217 вывод: «двести семнадцать»
Ваше имя (никнейм)*
Email*
Комментарий*