В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Tsm2017
Tsm2017
07.09.2020 19:32 •  Информатика

Написать программу на питоне, которая будет разбивать введённое количество долларов/рублей рандомно на монетки. например: пользователь ввел 39.51$, программа выводит: 39.51$ = 10 монет по 25 центов, 3 монеты по 1 центу и т.д.

Показать ответ
Ответ:
Slavaevdok2017
Slavaevdok2017
29.08.2021 08:52
// PascalABC.NET 3.0, сборка 1128
uses
  System.Text.RegularExpressions;
 
begin
  var s:='     - 32    / - 21  ';
  s:=RegEx.Replace(s,'\s','');
  var a:=RegEx.Matches(s,'(-{0,1}\d+)|[\+\-\*/]');
  var n:=a.Count;
  var x,y:integer;
  var c:char;
  case n of
  3:begin
    x:=StrToInt(a[0].ToString); y:=StrToInt(a[2].ToString);
    c:=a[1].ToString[1]
    end;
  2:begin
    x:=StrToInt(a[0].ToString); var s1:=a[1].ToString;
    c:=s1[1]; s1[1]:='0'; y:=StrToInt(s1)
    end;
  else
    begin Writeln('Недопустимое выражение'); exit end
  end;
  WriteFormat('{0} {1} {2} = ',x,c,y);
  case c of
  '+':Writeln(x+y);
  '-':Writeln(x-y);
  '*':Writeln(x*y);
  '/':Writeln(x/y)
  end
end.

Тестовое решение:
-32 / -21 = 1.52380952380952

// PascalABC.NET 3.0, сборка 1128
begin
  var s:='4km-549_ffb)5)6';
  var t:=s.Where(x->x in ['0'..'9']).JoinIntoString('');
  var n:int64;
  if TryStrToInt64(t,n) then Writeln(2*n)
  else Writeln('Не удалось выделить число')
end.

Тестовое решение:
909912
0,0(0 оценок)
Ответ:
WinxPolina05
WinxPolina05
17.03.2022 15:49
обязательно что б было 8 символов ,если будет меньше, то слева приписываешь 0 ) Затем переводишь маску в двоичную систему . (Покажу тебе на двух числах, если ты понял то что я написал выше , то с другими этого проделывать не надо , а если не понял , то делаешь так для каждого числа)

224_{10} = 11100000_2

196_{10}=11000100_2

Затем просто переписываешь эти числа в два ряда

11100000
11000100             ( И пишешь 1 там где  друг над другом стоят единицы)
11000000

Теперь переводишь это число в десятичную
11000000_2=192_{10}

Твой ответ . 12.16.192.0  (буквы думаю сам напишешь )
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота