НАЧАЛО ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999)
заменить (19, 2)
заменить (299, 3)
заменить (3999, 1)
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подаётся строка длины 101, состоящая из цифры 1, за которой следуют 100 идущих подряд цифр 9. Какая строка получится в результате применения программы к этой строке
найти ошибку в программе Паскаль
begin
var s := '1' * 99 + '9' * 98;
while (pos ('19',s)> 0) (pos ('299',s)> 0)or (pos ('3999',s)> 0)do
begin
var i1:= pos ('19',s);
var i2:= pos ('299',s);
var i3:= pos ('3999',s);
if ('19'<> 0) or ('299'<> 0) or ('3999'<> 0) then
begin
delete (s,'19',2);
insert (s,'2',i1);
delete (s,'299',3);
insert (s,'3',i2);
delete (s,'3999',4);
insert (s,'1',i3);
end;
end;
writeln (s)
end.
Private Sub CommandButton1_Click()
Dim s As Integer, z As Integer
Dim t As String
t = "Для оплате в кассе необходимы:"
s = CInt(InputBox("Введите сумму оплаты"))
Do While s > 0
If s >= 500 Then
s = s - 500: k = k + 1
ElseIf s >= 200 Then
s = s - 200: m = m + 1
ElseIf s >= 100 Then
s = s - 100: n = n + 1
ElseIf s >= 50 Then
s = s - 50: z = z + 1
ElseIf s >= 10 Then
s = s - 10: v = v + 1
ElseIf s >= 5 Then
s = s - 5: h = h + 1
ElseIf s >= 2 Then
s = s - 2: f = f + 1
ElseIf s >= 1 Then
s = s - 1: d = d + 1
End If
Loop
If k > 0 Then
t = t + " " & k & " по 500 рублей, "
t = t + " " & m & " по 200 рублей, "
t = t + " " & n & " по 100 рублей, "
t = t + " " & z & " по 50 рублей, "
t = t + " " & v & " по 10 рублей, "
t = t + " " & h & " по 5 рублей, "
t = t + " " & f & " по 2 рублей, "
t = t + " " & d & " по 1 рублей, "
Cells(10, 1) = t
End If
End Sub
Произведём замену: y1 = x1 ≡ x2; y2 = x3 ≡ x4; y3 = x5 ≡ x6; y4 = x7 ≡ x8. Получим уравнение:
(y1 → y2) ∧ (y2 → y3) ∧ (y3 → y4) = 1.
Логическое И истинно, только тогда, когда истины все утверждения, поэтому данное уравнение эквивалентно системе уравнений:
Импликация ложна только в случае, если из истинного следует ложное. Данная система уравнений описывает ряд переменных {y1, y2, y3, y4}. Заметим, что если любую переменную из этого ряда приравнять 1, то все следующие должны также быть равны 1. То есть решения системы уравнений: 0000; 0001; 0011; 0111; 1111.
Уравнения вида xN ≡ x{N+1} = 0 имеют два решения, уравнения вида xN ≡ x{N+1} = 1 также имеет два решения.
Найдём сколько наборов переменных x соответствуют каждому из решений y.
Каждому из решений 0000; 0001; 0011; 0111; 1111 соответствует 2 · 2 · 2 · 2 = 16 решений. Всего 16 · 5 = 80 решений.
ответ: 80.