Складіть блок-схему алгоритму, у якому потрібно задумати число та відняти від нього 1, якщо воно менше ніж 8; додати до нього 15, якщо воно менше ніж 8, але менше ніж 30; помножити його на 5, якщо воно менше ніж 30. Викнайте складний алгоритм для чисел 4; 20; 52.
begin
var s:=ReadInteger('n=').ToString;
Writeln('Количество цифр, меньших 6, равно ',
s.Where(x->x<'6').Count);
Writeln('Сумма первой и последней цифры равна ',
StrToInt(s[1])+StrToInt(s[s.Length]));
Writeln('Сумма самой маленькой и самой большой цифры равна ',
StrToInt(s.Min)+StrToInt(s.Max));
end.
Тестовое решение:
n= 254904
Количество цифр, меньших 6, равно 5
Сумма первой и последней цифры равна 6
Сумма самой маленькой и самой большой цифры равна 9
б) 112 (см. а)
в) деление в один большой столбик. если число четное, то в остатке 0, а если нечетное, то единица. число собирать с конца. 1100011101101
г) 10010100110 (см. в)
д) 10000101101
е) 10011010100 (см.в)
ж) 10101100000011
з) 27 (см. а)
и) 752
а) вверху дописано
г) лучше делить столбиком, как в 1-м классе, но тут неудобно так писать, поэтому я распишу так.
1190/2=595 (ост. 0)
595/2=297 (ост.1)
297/2=148 (ост.1)
148/2=74 (ост. 0)
74/2=37 (ост.0)
37/2=18 (ост. 1)
18/2=9 (ост. 0)
9/2=4 (ост.1)
4/2=2 (ост.0)
2/2=1 (ост.0)
собираем с конца 10010100110
б)
ж)11011/2=5505 (1)
5505/2=2752(1)
2752/2=1376(0)
1376/2=688(0)
688/2=344(0)
344/2=172(0)
172/2=86(0)
86/2=43(0)
43/2=21(1)
21/2=10(1)
10/2=5(0)
5/2=2(1)
2/2=1(0)
10101100000011
з)=27