У этих игр очень простая стратегия. Запомните её один раз и будете решать любые подобные задачи.
Пусть дано P предметов и за ход можно брать от 1 до n предметов.
Вычисляем "магическое число" М = n+1.
Находим остаток целочисленного деления P на M - он покажет, сколько спичек надо взять при первом ходе для выигрыша. Если 0 - то игрок, делающий ход первым, проигрывает. Выигрышная стратегия проста. Если противник взял k предметов, мы берем M-k.
Рассмотрим задачу 1.
P=25, n=4
М=n+1=5, P/M дает в остатке 0 - игрок, делающий ход первым, проигрывает.
Выигрышная стратегия: брать 5-k предметов, оставляя противнику 20, 15, 10 и 5 предметов.
Рассмотрим задачу 2.
P=107, n=2
M=n+1=3, P/M дает в остатке 2 - игрок, делающий ход первым, берет 2 предмета и выигрывает.
Выигрышная стратегия: брать 3-k предметов, оставляя противнику 105, 102, 99, 96, ... предметов.
2. Windows, Mac OS, Linux
3. Ноутбуки MacBook Pro, MacBook Air, MacBook, настольные компьютеры Mac Pro, iMac, моноблок iMac Pro
4. Системы Linux являются основными для суперкомпьютеров и серверов, расширяется применение их для встраиваемых систем и мобильных устройств, некоторое распространение системы получили и для персональных компьютеров.
5. Android, iOS
6. CyanogenMod
7. Android
Множества А - это двузначные числа кратные 11, а множество В - числа кратные 3, значит пересечение множеств А и В - множество двузначных чисел кратных 11 и 3, то есть множество содержит числа 33,66,99.
var a:array[1..20] of integer; i,arf,k:integer;
begin
k:=0;
for i:=1 to 20 do
begin
a[i]:=random(10);
if (a[i]/2=a[i] div 2) or (i/2<>i div 2) then
begin arf:=arf+a[i]; inc(k); end;
end;
arf:=round(arf/k);
for i:=1 to 20 do writeln('a[',i,']= ',a[i]);
writeln('Srendee arirfm. chentix chisel u nechetnix indexov = ',arf);
readln;
end.
1) var a,b:integer;beginreadln(a,b);if a>b thenwriteln(a+b,' задача решена')else writeln(a*b,' задача решена');end.
2) !!! ; 3 ; 16 ; 7 ; 8 ; 29 ; 66
3) 1
4) -5; 0; -6; 5; -0.4; 0.32; -17; 15; 11; 7; 8