Кондитерская «Сладкие истории» хочет настроить рекомендации товаров по акции. Акции предлагаются при выполнении двух условий: - покупатель хочет купить пирожные; - покупатель готов заплатить 500 рублей или меньше. Напиши программу, которая определяет, нужно ли предлагать товары по акции. Результат оформи как на картинке.
begin
var n:=ReadInteger('n=');
var r:BigInteger:=1;
for var i:=1 to n do begin
r*=2; Writeln(i,' - ',r)
end
end.
Тестовое решение:
n= 50
1 - 2
2 - 4
3 - 8
4 - 16
5 - 32
6 - 64
7 - 128
8 - 256
9 - 512
10 - 1024
11 - 2048
12 - 4096
13 - 8192
14 - 16384
15 - 32768
16 - 65536
17 - 131072
18 - 262144
19 - 524288
20 - 1048576
21 - 2097152
22 - 4194304
23 - 8388608
24 - 16777216
25 - 33554432
26 - 67108864
27 - 134217728
28 - 268435456
29 - 536870912
30 - 1073741824
31 - 2147483648
32 - 4294967296
33 - 8589934592
34 - 17179869184
35 - 34359738368
36 - 68719476736
37 - 137438953472
38 - 274877906944
39 - 549755813888
40 - 1099511627776
41 - 2199023255552
42 - 4398046511104
43 - 8796093022208
44 - 17592186044416
45 - 35184372088832
46 - 70368744177664
47 - 140737488355328
48 - 281474976710656
49 - 562949953421312
50 - 1125899906842624
что не может быть одновременно x1=0 y1=0 z1=0
рассмотрим первое уравнение, это логическое умножение, каждый сомножитель должен быть равен 1, такое будет, если:
(не х1 + х2) * (не х2 +х3) *(не х3 +х4) * ( не х4 +х5) = 1
1 1 1 1 1 1 1 1
0 0 0 0 1 1 (2реш) 1 1 (3 решения)
0 1 0 1 0 1 0 1
1 1 1 0 0 0
Итак, при х1=1 - одно решение, при х1=0 - 5 решений
Для второго ( с Y) и третьего ( сZ ) ур-я - аналогично по 5 решений.
Возможные варианты сочетаний значений х1, y1,z1 :
х1 y1 z1
0 0 0 - (четвёртое уравнение исключает это сочетание)
0 0 1 5*5*1 =25 решений
0 1 0 5*1*5 =25 реш
0 1 1 5*1*1 =5
1 0 0 1*5*5=25
1 0 1 5 реш
1 1 0 5
1 1 1 1
5+5+5+25+25+25+1 = 91 < ответ
Если ответ не верный, напишите. Буду думать.