function DifNum(a: integer): integer; var se: set of integer; i: integer; begin while a > 0 do begin if a mod 10 in se then begin DifNum := 0; exit; end else include(se, a mod 10); a := a div 10; end; DifNum := 1; end;
begin read(l, r); for i := l to r do counter += DifNum(i); writeln(counter); end.
//Альтернативное решение на Паскале
Var l,r:integer; begin read(l,r); writeln(range(l,r).where(x -> x.tostring.toarray.distinct.count=length(x.tostring)).Count); end.
1. Программа работает. Если она что-то "не так" выдает, нужно привести текст сообщения и место ошибки. 2. Поскольку я написал тестовый пример и он программа работо Она работо ограниченно, если у Вас возникает ошибка в её работе. 3. Если у Вас возникает ошибка, а у меня нет, виноваты данные, которые программа обрабатывает. Посему нужно привести Ваши конкретные 2х10 строк данных, чтобы можно было сделать какой-то анализ. 4. Во избежание проблем с типами рекомендую добавить строку описания Dim s As Integer, min As Integer, R As Double Это приведет к типизации переменных и позволит лучше локализовать ошибку.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку