aydin51
12.04.2023 23:40

Задача Питон. Рассматривается японская игра судоку. Игровое поле представляет из себя квадрат размером 9х9 клеток, на котором
изначально расставлены некоторое количество цифр от 1 до 9. В большом квадрате 9х9 выделяются 9 маленьких квадратов
размером 3х3:

Цель игры (не данного задания) состоит в том, чтобы заполнить все игровое поле цифрами от 1 до 9 так,
чтобы выполнялись следующие три условия:
1. в любой строке каждая цифра встречается только 1 раз
2. в любом столбце каждая цифра встречается только 1 раз
3. в любом квадрате 3х3 каждая цифра встречается ровно 1 раз

В данном же задании Вам необходимо ответить на следующий частный вопрос:
Имеется некоторое состояние игрового поля и координаты пустой ячейки.
Какие цифры можно в текущий момент поставить в эту ячейку, чтобы не нарушалось ни одно из трех правил выше?

Ввод
Первые 9 строк задают игровое поле. Каждая строка состоит из 9 символов от '0' до '9'. Символ '0' обозначает пустую ячейку.
10-я строка - номер строки целевой ячейки на игровом поле (нумерация от 0 до 8)
11-я строка - номер столбца целевой ячейки на игровом поле (нумерация от 0 до 8)
Гарантируется, что целевая ячейка является пустой.
В двух примерах ниже закодировано игровое поле из картинки выше.

Вывод
Цифры, которые можно в текущий момент поставить в целевую ячейку, не нарушая ни одно из 3 ограничений, описанных
в условии игры выше. Цифры необходимо вывести в порядке возрастания, каждая цифра в отдельной строке.
Учитывая, что целевая ячейка пустая и игровое поле корректно, всегда будет хотя бы одна возможная цифра.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
darinaggg
16.03.2023 11:59
Вместо слов тип укажешь real если массив действительных чисел или integer - если целые числа

var a: array[1..10] of тип
i,n:integer; max, min, sum: тип
begin
write('Введите количество элементов массива'); readln(n);
for i:=1 to n do read(a[i]);
max:=a[1]; min:=a[1];
for i:=2 to n do if a[i]>max then max:=a[i];
for i:=2 to n do if a[i]>min then min:=a[i];
sum:=0;
for i:=1 to n do if (a[i]>min) and (a[i]<max) then sum:= sum+a[i];
write('Сумма элементов массива расположенных между максимальным и минимальным = ', sum);
end.
0,0(0 оценок)
Ответ:
karinakazakova5
24.04.2020 15:30

Объяснение:

Сначала заполним массив, затем выведем его содержимое.

---

   Sub Main()

       Dim a as Double = 1

       Dim b as Double = 15

       Dim h as Double = 0.92

       

       Dim n as Integer = int((b - a) / h)

       Dim Z() As Double = New Double(n) {}

       Dim i as Double

       For i = 0 To n

           Z(i) = Math.Cos(a + h * i) + Math.Tan(a + h * i)

       Next

       

       

       For i = 0 To n

           Console.WriteLine("Z(" & i+1 & ") = " & Z(i))

       Next

   End Sub

---

Результат работы этой программы:

Z(1) = 2.09771003052304

Z(2) = -3.0884493200958

Z(3) = -1.26594678050156

Z(4) = -0.103295451547362

Z(5) = 30.831517973736

Z(6) = -0.0383774051794511

Z(7) = 1.21343345934296

Z(8) = 2.67822720165008

Z(9) = -2.28928714730523

Z(10) = -1.13533602598861

Z(11) = 0.265586431867902

Z(12) = -7.87130103019394

Z(13) = 0.283584171679959

Z(14) = 1.3388270225723

Z(15) = 4.05676371484264

Z(16) = -1.89632897888172

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота