Петя и Ваня пишут двадцатизначное число слева направо, по очереди дописывая по одной цифре. Первый игрок выигрывает, если полученное число не делится на 7, второй — если делится. Кто выигрывает?
ответ: Ваня (при условии, что он будет писать вторым)
Объяснение:
Исходя из того, что числа пишутся слева направо и число двадцатизначное (четн.), мы можем разделить его на 10 пар чисел. И какую бы цифру не написал Петя (0-9), Ваня всегда сможет продолжить цифрой, чтобы получившиеся число делилось на 7 (07,14,21,28,35,..,95), тем самым всегда создавая ситуация, в которой он выходит победителем.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 procedure MatPrint(a:array[,] of integer); begin for var i:=0 to Length(a,0)-1 do begin for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4); Writeln end end;
procedure MatReplaceOdd(a:array[,] of integer; value:integer); begin for var i:=0 to Length(a,0)-1 do for var j:=0 to Length(a,1)-1 do if a[i,j].IsOdd then a[i,j]:=value end;
begin var n,m:integer; Write('Задайте число строк и столбцов матрицы: '); Read(n,m); var a:=MatrixRandom(n,m,-99,99); Writeln('Исходный массив'); MatPrint(a); MatReplaceOdd(a,26); Writeln('Результирующий массив'); MatPrint(a) end.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:=ArrRandomReal(28,0.001,2); a.Println; Writeln(NewLine,'P=',a.Where(x->x<1.0).Aggregate(1.0,(p,x)->p*x)) end.
ответ: Ваня (при условии, что он будет писать вторым)
Объяснение:
Исходя из того, что числа пишутся слева направо и число двадцатизначное (четн.), мы можем разделить его на 10 пар чисел. И какую бы цифру не написал Петя (0-9), Ваня всегда сможет продолжить цифрой, чтобы получившиеся число делилось на 7 (07,14,21,28,35,..,95), тем самым всегда создавая ситуация, в которой он выходит победителем.