<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var s:set of integer:=[];
Writeln('Вводите натуральные числа от 1 до 255, иное число завершит ввод');
repeat
var n:=ReadInteger;
if not (n in [1..255]) then break
else s+=[n]
until false;
Writeln('-'*10);
foreach var k in s do
if k.ToString.ToCharArray.Distinct.Count=1 then Print(k)
end.
<u>Пример</u>
Вводите натуральные числа от 1 до 255, иное число завершит ввод
24
55
68
156
222
77
8
140
500
----------
77 8 55 222
<span>1. получить стартовые координаты </span>
<span>2. перейти на стартовые координаты </span>
<span>3. выбрать цвет кисти </span>
<span>4. входим в цикл обнуление всех счетчиков </span>
<span>4.1 проверяем количество повортов если оно равно 4 на выход иначе продолжаем </span>
<span>4.2 проверям не конец ли рамки если конец поврот на 90 градусов </span>
<span>4.3 чертим штрих </span>
<span>4.4 сдвигаемся на шаг </span>
<span>4.5 возвращаемся в пункт 4.1</span>
А) 100(10) = 64 + 32 + 4 = 2^6 + 2^5 + 2^2 = 1100100(2)
Б) 187(10) = 2*64 + 7*8 + 3 = 2*8^2 + 7*8 + 3 = 273(8)
В) 2572(10) = 10*256 +0*16 + 12 = A0C(16)
Г) 1458(10) = 2*625 + 125+ 3*25 +5+3 = 2*5^4 + 5^3 + 3*5^2 + 5 + 3 = 21313(5)
Д) 53(10) = 27 + 2*9 + 2*3 + 2 = 3^3 + 2*3^2 + 2*3 + 2 = 1222(3)
Program Matrix;
Uses Crt;
type matrix=array[1..3,1..3] of real;
var m:matrix;
procedure PrintMatrix(mas:matrix);
var j,k:integer;
begin
for k:=1 to 3 do
begin
for j:=1 to 3 do
begin
write(mas[k,j]:7:2);
end;
writeln;
end;
end;
procedure Auto;
var i,j:integer;
begin
randomize;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
m[i,j]:=25+random(21)+i;
end;
end;
end;
begin
clrscr;
Auto;
PrintMatrix(m);
readkey;
end;
Program ryazantsev;
var n,k,i,b,sum:integer;
begin
readln(n,k);
sum:=trunc((1+n)/2*n); //Преобразование типа real к int, trunc можно безопасно использовать, т.к. сумма n членов арифметической последовательности целых чисел - всегда целое число
if sum mod k <> 0 then writeln(0)
else begin
for i:=1 to k do begin
b:=1;
while b<n/k do begin
write(i+b-1, ' ', n-i-b+2, ' ');
b:=b+k
end;
writeln()
end
end;
end.
Пример входных данных, при которых программа выведет ноль: 6 2
И ещё, задачка должна быть оценена явно больше, чем на пять баллов)