20 лет. определяем методом подбора.. 14-14,15-5,16-,17-7,18-8,19-9,20-10
//Pascal ABC.NET v3.0 сборка 1111
var
a,k,s:integer;
begin
readln(k); //вводим k
a:=0;
s:=0;
while a>=0 do //пока а >=0
begin;
if a>k then s:=s+a; //если a>k, тогда добавляем к s
readln(a); //каждый раз вводим в a
end;
writeln(s); //выводим s
<span>end.
Пример ввода:
45
34
56
67
<span>-2
Пример вывода:
123</span></span>
1)кассета
2)может папирус
3)дискета
4)флеш
5)винчестер
Согласно алгоритму из блок-схемы, пока не получен ноль, число надо делить на 2, если оно четное, и отнимать 1, если нечетное. Проделываем это:
500 (четное) -> 250 (четное) -> 125 (нечетное) -> 124 (четное) -> 62 (четное) -> 31 (нечетное) -> 30 (четное) -> 15 (нечетное) -> 14 (четное) -> 7 (нечетное) -> 6 (четное) -> 3 (нечетное) -> 2 (четное) -> 1 (нечетное) -> 0
Чтобы получить из нуля 500, нужно пойти в обратном порядке: 0 -> 1 -> 2 -> 3 -> 6 -> 7 -> 14 -> 15 -> 30 -> 31 -> 62 -> 124 -> 125 -> 250 -> 500
Для 1024 всё проще:
От 1024 до 0: 1024 -> 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8 -> 4 -> 2 -> 1 -> 0 (на всех шагах кроме последнего число уменьшается в 2 раза, на последнем уменьшается на 1)
В обратную сторону 0 -> 1 -> 2 -> 4 -> ... -> 512 -> 1024 (на первом шаге число увеличивается на 1, затем 10 раз увеличивается в 2 раза)
Var
n,s,k,a,i:integer;
begin
Read(n);
s:=0; k:=0;
for i:=1 to n do begin
Read(a);
s:=s+a;
if a mod 2=0 then Inc(k)
end;
Writeln(s,' ',k)
end.
Результат
7 2 3 -2 4 -7 10 1
11 4