помогите написать программку на паскале, используя циклы!!!Отыскать количество разных цифр

Помогите написать программу на паскале, используя циклы!!!

Найти количество разных цифр данного натурального числа.

Задать свой вопрос
Прибыловская Ульяна
Какая версия Паскаля?
Kirill
И, заодно, есть ли ограничение на количество цифр в числе?
Podoprygalov Valerij
Pascal ABC.NET . ограничения нет.
Толик Стричевский
Т.е. можно и 1000 символов в числе ввести?
Галаничев Колян
Не неувязка... тогда вводим строчку и учитываем числа до появления первого нецифрового символа...
Vjacheslav Bekun
хоть какое естественное, которое душеньке угодно
Albina Otekina
а в коде это как должно смотреться?
Алина Галбацова
Достаточно просто для программирования, но, быть может, не совершенно просто для школьника.
2 ответа
//Pascal ABC.NET v3.1 сборка 1172

Var
 k:integer;
 se:set of char;
 s:string;
 num:set of '0'..'9';
begin
readln(s);
 num:=['0'..'9'];
 while slt;gt;'' do
  begin
   if (not(s[length(s)] in se)) and (s[length(s)] in num) then
    begin
     inc(k);
     se:=se+[s[length(s)]];
    end;
   delete(s,length(s),1);
  end;
 writeln(k);
end.

Пример ввода:
234Мне нужно делать историю, что я тут пренебрегал?121
Пример вывода:
4
Василий Почукаев
Да....вот как здесь реализуется проверка на то. что числа разные - это неясно...
Инна Завада
Поправил. Можете продолжать кидаться тапками.
Lastovire Olesja
Тапок кинул создатель вопроса: "хоть какое естественное, которое душеньке угодно" )))
Шеболдин Тоха
Ладно, тогда строки. Минуту.
Геннадий Яцыныч
Да, вот так с виду простейшая задачка начинает разбухать...
Василиса Баймурзаева
Я поначалу попробовал скормить строчку в BigInteger, но программа сковырнулась по первому же нецифровому символу.
Алемпиева Полина
Очень длинный способ, но так как моя голова занята холодной войной, ничего разумнее в неё не приходит.
Стефания Якутко
неувязка в том, что использовать обязаны мы циклы и if
Сергей Ярмолинский
Вы ничего не написали в условии задания про if и циклы, потому не вправе теперь чего-то в этом плане требовать.
Иванова-Аннинская Инна
While, if, всё на месте. Если хотите огромные числа в тыщи цифр, то Вам необходимы строчки.
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var s:=RegEx.Match(ReadlnString('Число:'),'\d*');
  Println('Принято число',s);
  Println('Различных цифр',s.ToString.Distinct.Count)
end.

Тестовое решение:
Число: 32647034554934932reert54654643%
Принято число 32647034554934932
Разных цифр 8
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт