Примерно так. На псевдоязыке, который легко переводится в тот, который знаком
//
Сумм=0;
Конец=0;
Ввод(Ч);
Пока (Ч#Конец) Цикл
Если Проверить(Ч)=1 Тогда
Сумм=Сумм+Ч;
КонецЕсли;
Ввод(Ч);
КонецЦикла;
Печать(Сумм);
//
//
Функция Проверить(П)
Если Остаток(П,10)=4 Тогда
Если Остаток(П,6)=0 Тогда
Возврат(1);
КонецЕсли;
КонецЕсли;
Возврат(0);
КонецФункции
//
Этот текст не использует массивы, поэтому количество вводимых чисел неограничено. Их величина определяется описанием переменной(если в языке оно явно требуется, для приведенных данных достаточно описать как ЦЕЛОЕ(INTEGER)). Сумм описать побольше(если требуется).
Если в языке нет функции Остаток(обычно MOD), напиши свою, это очень просто.
Повторюсь, в Паскаль, Бейсик, 1С текст переводится очень легко, в С(Java, PHP и пр.) чуть сложнее, там немного другой синтаксис, но это преодолимые проблемы.
program aaa;
const n=50;
var w, c, x, d10, d4, d1: integer;
begin
writeln ('введите вес бандероли');
readln (w);
if w < = n
then c: =10
else
if w mod n = 0
then c: =10+((w div n)-1)*5
else c: =10+5+((w div n)-1)*5;
d10: = c div 10;
d4: = (c-10*d10) div 4;
d1: = (c-d10*10-d4*4);
writeln ('стоимость бандероли: ',c,' драхм');
writeln;
writeln ('для оплаты нужно не менее');
writeln (d10: 10,' монет по 10 драхм');
writeln (d4: 10,' монет по 4 драхмы');
writeln (d1: 10,' монет по 1 драхме');
end.
результат работы программы:
введите вес бандероли 100
стоимость бандероли: 15 драхм
для оплаты нужно не менее
1 монет по 10 драхм
1 монет по 4 драхмы
1 монет по 1 драхме