Nesse desafio, você terá quatro tarefas diferentes, mas um tanto relacionadas, que devem ser resolvidas de uma maneira específica. Primeiro, explicarei as tarefas e, a seguir, uma explicação de como você deve resolvê-las.
Para todas as quatro tarefas, seu código deve receber dois números inteiros positivos como entrada:, n,m
onde n<m
. Todas as tarefas devem ser resolvidas no mesmo idioma. A orientação das matrizes é opcional (n por m pode ser interpretado como "n linhas, m colunas" ou "n colunas, m linhas").
Tarefa 1:
Criar (e de saída / impressão) um vetor / list composto pelos elementos: n, n+1 ... m-1, m
. Assim, para n=4, m=9
, você deve saída: 4,5,6,7,8,9
.
Tarefa 2:
Crie (e produza / imprima) uma matriz / matriz / lista de listas (ou equivalente) com esta aparência:
n, n+1, ... m-1, m
n+1, n+2, ... m-1, m+1
...
n+m, n+m+1, ... 2*m-1, 2*m
Para n=4, m=9
você deve produzir:
4, 5, 6, 7, 8, 9
5, 6, 7, 8, 9, 10
...
13, 14, 15, 16, 17, 18
Tarefa 3:
Crie (e produza / imprima) uma tabela de multiplicação n por m (em qualquer formato adequado). Exemplo para n=4, m=9
:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
5 10 15 20
6 12 18 24
7 14 21 28
8 16 24 32
9 18 27 36
Tarefa 4:
Saída / impressão de um vetor / lista que consiste nos elementos na tabela de multiplicação da tarefa 3, classificados em ordem crescente, mantendo valores duplicados. Para n=4, m=9
, você deve saída: 1, 2, 2, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 8, 8, 8, 9, 9, 10, 12, 12, 12, 14, 15, 16, 16, 18, 18, 20, 21, 24, 24, 27, 28, 32, 36
.
O desafio:
Agora, todas as tarefas acima são bastante triviais. O verdadeiro desafio aqui é que o código da tarefa 2 deve começar com o código da tarefa 1, o código da tarefa 3 deve começar com o código da tarefa 2 e o código da tarefa 4 deve começar com o código da tarefa 3.
Para deixar mais claro:
Suponha que o código da tarefa 1 seja (funciona na oitava):
@(n,m)(n:m)
Em seguida, seu código para a Tarefa 2 pode ser (funciona no Octave):
@(n,m)(n:m)+(0:m)'
O código da tarefa Tarefa 3 deve ser (não funciona no Octave):
@(n,m)(n:m)+(0:m)'"Code_for_task_3"
E, finalmente, o código da Tarefa 4 deve ser (não funciona no Octave):
@(n,m)(n:m)+(0:m)'"Code_for_task_3""Code_for_task_4"
Isso é código-golfe ; portanto, a submissão com o código mais curto da tarefa 4 em cada idioma vence. Como sempre: as explicações são altamente encorajadas.
0<n<m
ou 0<=n<m
?
>2;
para que o código da tarefa anterior seja essencialmente processado?