Количество различных цифр в числе (Pascal)

Прикладное программирование Программирование на Pascal Количество различных цифр в числе (Pascal)

Помечено: ,

  • В этой теме 0 ответов, 1 участник, последнее обновление 1 год назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #5581
      @admin
      StudLance.ru

      Задача: Дано число n≤30000. Изменяя число i от 1 до n, будем записывать получающиеся числа подряд, без пробелов и разделителей, получим, некое число. Подсчитать в этом числе количество нулей, единиц, двоек и т.д до девяток. Подсчитать общее количество цифр в этом числе.

      Примеры входных и выходных данных:

      Ввод n Вывод
      3

      0 1 1 1 0 0 0 0 0 0
      Количество цифр=3
      10 1 2 1 1 1 1 1 1 1 1
      Количество цифр=11

      Решение

      Получающееся огромное число не надо запоминать ни в переменной, ни в файле. Для каждого i его каждую цифру принимаем за индекс массива и прибавляем туда 1.

      Program Task;
      Uses CRT;
      Var 
        s,a:string;
        n,i,l,j,y,code,sum:integer;
        x:array [0..9] of integer;
      Begin
      
        ClrScr;
        {Ввод n}
        write('n='); readln(n);
      
        for i:=1 to n do begin
          str(i,s); {перевод числа в строку}
          l:=length(s);
          for j:=1 to l do begin
            a:=copy(s,j,1); {вырезаем каждый символ строки (цифру)}
            val(a,y,code); {перевод строки (символа) в в цифру }
            inc(x[y]); {запись 1 в соответствующий элемент массива}
          end;
        end;
      
        {вывод массива, подсчет количества цифр}
        sum:=0;
        for i:=0 to 9 do begin
          write(x[i],' ');
          sum:=sum+x[i];
        end;
      
        writeln;
        writeln('Количество цифр=',sum);
        readln
      End.

      StudLance.ru

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.
×