Сайт Льва Волкова
  
· Каспийское море (связано с обетавшими племенами каспиев) имеет 70 названий: Аварское, Восточное, Чирканское, Хвалынское и пр.
 
      На главную  
 Личное
  Статьи
  Задачи 
 Ссылки
 АТ-531
www.levvol.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.

Скачать эту программу

Назад