Люди помогите пожайлуста решить эту задачу или хотябы объясните что делать с суммой К=1,2...Заранее всем спасибо
Описать функцию, которая возвращает сумму К=1,2,… наименьших цифр, входящих в запись числа типа Longint .
пусть дано число N = 14021233, K = 3
результат = 0 + 1 + 1 = 2 ?
а почему к=3
а зачем переводить каждое в число (ord(s[i])-$30).
Чтоб сложить.. Я имел ввиду вот это:
N = 14021233, K = 3
переводим в строку: s:="14021233";
сортируем: s:="01122334";
складываем: 0+1+1. Но что бы из "0" получить 0 надо из кода символа вычесть $30 (код нуля как раз).
Но если не хочешь через строку можно и по-другому.. Например завести массив [0..9], разложить число на цифры и посчитать количество каждой цифры с помощью этого массива. Примерно так:
var a:array [0..9] of byte;
..
begin
x:=14021233; k:=3;
while x>0 do
begin
inc (a[x mod 10]); x:=x div 10;
end;
у меня тут возникло несколько вопросов
1)масив берётся произвольно или нет
2)x и k берутся произвольно или нет
вот про этот масив var a:array [0..9] of byte;