Program Task; Const N = 499; M = 1; Var A: Array [1..N, 1..N] of Boolean; i, j, x, y, t: Integer; b: Boolean; Begin Randomize; While i < M Do Begin x := Random(N) + 1; y := Random(N) + 1; If A[x, y] = False Then Begin A[x, y] := True; i := i + 1; End; End; While b = False Do Begin b := True; For i := 1 To N Do For j := 1 To N Do Begin If A[i, j] = True Then Begin If (i + 1) <= N Then A[i + 1, j] := True; If (i - 1) > 0 Then A[i - 1, j] := True; If(j + 1) <= N Then A[i, j + 1] := True; If (j -1) > 0 Then A[i, j - 1] := True; End; End; For i := 1 To N Do For j := 1 To N Do If A[i, j] = False Then b := False; t := t + 1; End; WriteLn(t); ReadLn; End.
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу. 2. Немного изменим ваш код и получим искомое значение x Искомое число х = 16293
var x, y, a, b, k: integer;
begin k:=10000; repeat x:=k; a := 0; b := 0; y := 1; while x > 0 do begin if (x mod 10) mod 2 = 0 then a := a * 10 + x mod 10 else begin y := y * 10; b := b * 10 + x mod 10 end; x := x div 10 end; a := a * y + b; k := k + 1; until a = 26391; writeln(a:8, k-1:8); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку