В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
mary556681p04ty3
mary556681p04ty3
13.03.2022 17:48 •  Информатика

Дана табличка n × n, в клетках которой записаны натуральные числа от 1 до 109.

Существует ли путь из клетки (1, 1) в клетку (n, n) такой, что НОД чисел на этом пути больше 1? Перемещаться можно по клеткам только вправо и только вниз. Например, из клетки с координатами (x, y) можно перейти в клетку (x, y + 1) или в клетку (x + 1, y).

Формат ввода
В первой строке вводится n — сторона таблички.

В следующих n строках вводится по n чисел — сама таблица.

Формат вывода
Если путь существует, то выведите 0 при перемещении вправо и 1 при перемещении вниз. Если удовлетворяющих условию путей несколько, то выведите любой подходящий путь.

Если пути не существует, выведите -1.

НА ЛЮБОМ ЯЗЫКЕ

Показать ответ
Ответ:
Медуха
Медуха
12.09.2020 22:01

y, x = map(int, input().split()) #Размеры матрицы, если матрицы имеет квадратную форму, то просто y = x = int(input())

matrix = [list(map(int, input().split())) for i in range(y)] #Заполняем матрицу

ans = [sum(matrix[k][i] for k in range(y)) for i in range(x)] #Находим сумму каждого столбца

print(*ans) #Выводим эти суммы

P.S. Комментарии убери, иначе не будет работать

P.S.S. Версия без коментариев и пример работы:

y, x = map(int, input().split())

matrix = [list(map(int, input().split())) for i in range(y)]

ans = [sum(matrix[k][i] for k in range(y)) for i in range(x)]

print(*ans)

Ввод:

3 4 #Размер

3 4 5 6 #Матрица

1 2 3 4

1 1 1 1

Вывод:

5 7 9 11

0,0(0 оценок)
Ответ:
nastjaivanova20
nastjaivanova20
03.10.2022 17:23

#include <iostream>

#include <cmath>

using namespace std;

const double EPS = 1e-6; // epsilon - точность вычисления суммы

double MySum( double EPS)

{

double s = 0;// Тут копим сумму

double an; // Тут храним N-ый член ряда

int n; // счётчик

n = 1; // начальное значение n

an = 0; // начальное значение an

do {

 an = (2*n-1)/pow(3,n);

 s += an; // суммируем очередной член ряда

 n++; // переходим к следующему члену

} while (fabs(an) > EPS); // Суммировать будем пока член ряда an не станет достаточно маленьким по модулю

return s; // получившаяся сумма

}

int main()

{

setlocale(LC_ALL, "RUS");

cout <<"Сумма ряда с точностью до " << EPS << "= " << MySum(EPS) << endl;

system("pause");

return 0;

}

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