begin
for c:='A' to 'Z' do if c in aSet then Write(aFile, c:2);
Writeln(aFile);
end;
{––––– Ввод множества границ (чисел) –––––}
procedure ReadSet(var aFile: text; var aSet : TBoundSet);
var k : integer;
begin
While not Eoln(aFile) do begin
Read(aFile, K); aSet:= aSet+[K];
end;
Readln (aFile);
end;
var FileIn, FileOut: text;
R: TStateSet; { множество соседей (результат) }
SA, S : TBoundSet; { границы царства «A» и прочих }
State: char; { буква с названием очередной страны }
begin {––––– Главная программа –––––}
Assign(FileIn, 'P_38_3.in'); Reset(FileIn);
Assign(FileOut, ''); Rewrite(FileOut);
R:= []; SA:=[]; State:='A'; { начнем с царства «A» }
ReadSet(FileIn, SA); { из первой строки читаем границы для «A»}
while not Eof (FileIn) do begin { цикл по странам }
State:= Succ(State); { буква следующей страны }
S:=[]; ReadSet(FileIn, S); { читаем границы страны }
{ если граничит с царством «A», добавляем к результату }
if S*SA <> [] then R:= R + [State];
end;
WriteCharSet(FileOut, R); Readln; { вывод результата }
Close(FileIn); Close(FileOut);
end.
Программа Ника вычислила, что царство «A» соседствует с царствами «B», «D», «F», «I». Со временем проверка на местности это подтвердила.
Царь щедро наградил программиста, но история на этом не закончилась. О великом научном успехе скоро знала и последняя собака на материке. Но больше других этот успех заинтересовал купцов, плативших пошлины при пересечении границ. Они явились к Нику с предложением, от которого тот не смог отказаться. Хотите продолжения сказки? – оно ждёт вас в главах 49, 57 и 58.
Древние греки не знали, что они древние. И компьютеров тоже не знали, зато дышали бодрящим морским воздухом, коротая досуг в философских и математических размышлениях. Греческий досуг оказался не таким уж пустым, – иные задачки, придуманные под ласковый шепот волн, не решены по сию пору! Одна из них – вычисление простых чисел.
Прежде всего, выясним, что это за числа? Простым называют число, которое делится без остатка лишь на само себя и единицу. Все прочие числа являются составными. Возьмем, к примеру, числа от 1 до 10 и выделим среди них составные.
1 2 3
Здесь отмечены составные числа 4, 6, 8, 9 и 10, – они делятся без остатка либо на 2, либо на 3. Оставшиеся числа 1, 2, 3, 5 и 7 являются простыми.