var
s: string;
i,n: integer;
begin
readln(s);
n:=1;
for i:=1 to length(s) do
if ((s[i]='3') or (s[i]='6') or (s[i]='9')) then
n:=n*(ord(s[i])-48);
write(n);
end.
используй File Viwer Plus или Notepad++, очень крутые проги, сам использую
Будем искать сначала двузначные числа, удовлетворяющие условию задачи.
Обозначим через x и y искомые цифры числа. Очевидно, что x и y должны быть значениями из интервала [1..3].
Тогда xy(5) = yx(4) ⇒ 5*x+y = 4*y+x ⇒ 4*x = 3*y
Очевидно, что x и y должны быть значениями целыми положительными из интервала [1..3] и, следовательно, двузначных чисел, удовлетворяющих условию задачи, не существует.
Рассмотрим трехзначные числа, обозначив старшую цифру через a:
axy(5) = ayx(4) ⇒ 5*5*a+5*x+y = 4*4*a+4*y+x ⇒ 9*a+4*x = 3*y
Пусть a=1, тогда:
9+4*x = 3*y
Так как ни x, ни y не являются старшой цифрой, то оба значения могут быть из интервала [0..3].
При x=0 получим подходящее нам значение y=3.
Итак, 103(5) = 5*5+3 = 28(10); 130(4) = 4*4+3*4 = 28(10)
Рассмотрев аналогичным образом x=1;2;3, а также a=2 и a=3, увидим, что других чисел, удовлетворяющих условию, нет.
Ответ: 28
<em>Было занятно сделать все это в виде одного оператора)))</em>
<em>// PascalABC.NET 3.2, сборка 1439 от 09.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
ReadlnString('->').ToWords(Arr(',','.'))
.Select(w->w.Where(c->Pos(c,'аеёиоуыэюя')>0).GroupBy(x->x)
.Select(x->(x.Key,x.Count)).Where(x->x[1]>2)).Where(x->x.Count>0)
.SelectMany(x->x).Select(x->x.Item1).Distinct.OrderBy(x->x)
.Println(',')
end.
<u>Пример</u>
-> дает,корова,молоко,длинношеее,животное,жираф,катамаран.
а,е,о
Сумму натуральных чисел от 10 до 15 умножить на 19, уменьшить в 5 раз и прибавить две третьих
<span />