Если вынуть 94 конфет, то будут конфеты всех 3 видов.Пусть у нас по n конфет каждого вида.Тогда может так получиться, что мы вынем 2n конфет, и они будут только 2 видов. И только, вынув (2n+1)-ю конфету, мы получим все три.2n+1 = 942n = 93.Значит, конфет одного и другого вида по [93/2] = 46,а конфет третьего вида 47.Пусть ирисок и леденцов по 46, а шоколадных 47.Вынув 46 ирисок и 46 леденцов (92 конфет), мы получим 2 вида.Вынув 46 ирисок и 47 шоколадных (93), мы получим 2 вида.Вынув 46 леденцов и 47 шоколадных (93), мы получим 2 вида.И только вынув 94-ую (в 1 случае 93 и 94), мы получим 3 вида.ответ: всего конфет было 46 + 46 + 47 = 139.
Создаёшь в папке с программой два текстовых файла с именами "1.txt." и "output.txt". В первый записываешь 8 чисел без пробелов и запятых ("22031991", например).
type matrix = array [1..8] of integer;var F, output: text; i, n, cc, sum: integer; c: char; x: matrix; ma: real; procedure convert (var c: char; var cc: integer);begin if c='1' then cc:=1; if c='2' then cc:=2; if c='3' then cc:=3; if c='4' then cc:=4; if c='5' then cc:=5; if c='6' then cc:=6; if c='7' then cc:=7; if c='8' then cc:=8; if c='9' then cc:=9; if c='0' then cc:=0;end; procedure sorting (n: integer; x: matrix);begin for n:=1 to 7 do begin if x[n]>x[n+1] then swap(x[n],x[n+1]); end;end; begin Assign(F, '1.txt'); Reset(F); for i:=1 to 8 do begin read(F, c); convert(c,cc); x[i]:=cc; end; Close(F); sorting(n,x); sum:=x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]; ma:=sum/8; Assign(output, 'output.txt'); rewrite(output); writeln(output, sum); writeln(output, ma); Close(output);end.
Логическое программирование основано на теории математической логики.
Процедурный язык программирования состоит из последовательности операторов, задающих процедуру решения задачи.
ООП разделена на несколько объектов, которые могут взаимодействовать, передавая друг другу сообщения.
Объяснение: