BTSExo1
08.08.2021 14:20

Переведите программу из паскаля в питон : const
nmax=20;
var
a: array[1..nmax,1..nmax] of byte;
n,i,j,c,k: byte;
begin
repeat
write('Введите размер матрицы n: ');
readln(n);
until n<=20;

i:=1; j:=1; c:=0; k:=1;
repeat
//вправо
while (k<=n*n)and(j<=n-c) do
begin
a[i,j]:=k;
inc(j);
inc(k);
end;
//вниз
inc(i); dec(j);
while (k<=n*n)and(i<=n-c) do
begin
a[i,j]:=k;
inc(i);
inc(k);
end;
//влево
dec(j); dec(i);
while (k<=n*n)and(j>=1+c) do
begin
a[i,j]:=k;
dec(j);
inc(k);
end;
//вверх
inc(c); inc(j); dec(i);
while (k<=n*n)and(i>=1+c) do
begin
a[i,j]:=k;
dec(i);
inc(k);
end;
inc(j); inc(i);
until k>n*n;

writeln('Матрица по спирали:');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeln;
end;
end.​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ltimofienko
28.01.2022 23:54
Program q;
    var a:array[1..7,1..7] of integer; min7,sum1,odd,i,k:integer; avg5:real;
begin;
    randomize;
    for i:=1 to 7 do begin;
        for k:=1 to 7 do begin;
            a[i,k]:=random(-10,10);
            if a[i,k] mod 2 = 1 then odd+=1;
        end;
    end;
    min7:=a[1,7];
    for i:=1 to 7 do if a[7,i]<min7 then min7:=a[i,7];
    for i:=1 to 7 do sum1+=a[i,1];
    for i:=1 to 7 do avg5+=a[5,i];
    avg5/=7;
    for i:=1 to 7 do a[1,i]:=1;
    write('Минимальный элемент в 7 столбце ', min7, ', сумма элементов первой строки ', sum1, ', кол-во нечётных чисел ', odd);
end.
0,0(0 оценок)
Ответ:
artemp20012
01.09.2020 14:49

Месяц находим методом половинного деления.

Двоичная запись числа 366 размещается в 9 битах (в 8 битах размещается только 256 чисел , а в 9 битах - уже 512).

То есть , понадобится задать 8 вопросов и девятой фразой будет ответ.

В году 365 (366) дней. Пусть 366, для 365 рассуждение то же.

Рассмотрим самый худший вариант

Середина года - день номер 366/2=183. Это 1 июля.

Первый вопрос: День рождения в первой половине года?

Допустим, да.

Второй вопрос: День рождения в первом квартале?

Допустим, нет. Следовательно во втором.

Второй квартал - это дни с номерами от 92 до 182. Середина - среднее арифметическое. (92+182)/2=137. Это дата 17 мая.

Третий вопрос: День рождения позднее 17 мая?

Допустим, нет.

Следовательно, интервал дат 1 апреля - 17 мая, 91 день. Опять делим на 2, сужая интервал до 22 дней. Это дата 22 апреля.

Четвертый вопрос: День рождения позднее 22 апреля?

Допустим, нет.

Новый диапазон поиска - 23 апреля - 17 мая. Половиним его.

Пятый вопрос: День рождения позднее 29 апреля?

Допустим, нет.

Поиск сузился до 23 - 29 апреля. Снова берем половину.

Шестой вопрос: День рождения позднее 26 апреля?

Допустим, нет.

Интервал дат 23-26 апреля. Половиним.

Седьмой вопрос: День рождения позднее 24 апреля?

Допустим, да.

Интервал дат 25-26 апреля.

Восьмой вопрос: День рождения 25 апреля?

Допустим, нет

Девятая фраза: Ваш день рождения 26 апреля.

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