Короче. Вот код.
def matrix_gen(gen, n, m): Matrix = []; for i in range(n): a = []; for j in range(m): a.append(gen[j]); Matrix.append(a); return Matrix;Объяснение
Сначало ты инициализируешь функицю с названием "matrix_gen", которая принимает 3 параметра, 'gen' -- это генератор которые ты будешь использовать. 'n' & 'm' это размер матрицы.
Второй строчкой ты инициалихируешь пустой массив, которые похже заполнишь. Третей строчкой ты в for цикле обходишь все строки матрицы, они же подмассивы массива Matrix, просто 'a'. Делаем мы это 'n' раз.
Четвётрой строчкой ты инициализируешь массив(ы, мы в цикле) 'a', и следующей строчкой заполняешь уже его. Так же в for цикле. Всего в нём будет 'm' элементов.
Надеюсь решение правильное. Честно говоря у тебя вопрос очень странно поставлен.
1.
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n % 10 == 4 || n % 10 == 7 || n / 10 == 4 || n / 10 == 7)
printf("YES\n");
else
printf("NO\n");
return 0;
}
Для порядку скажу что на Perl это можно реализовать проще.
#!perl
%h { 4 => 0, 7 => 0};
<>;
if (exists $h{$_%10} || exists $h{$_/10}) {
print "YES\n";
else {
print "NO\n";
}
Но мы ушли от темы. Итак, 2. Тут всё ещё проще:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
if (!(n % 3))
printf("Multiple of 3\n");
else
printf("Not multiple of 3\n");
if (n % 10 == 3)
printf("Ends by 3\n");
else
printf("Not ends by 3\n");
return 0;
}
Тут более простой реализации на другом известном мне языке нету, так что приводить дополнительно ничего не буду.