Dans ce défi, vous obtiendrez quatre tâches différentes mais quelque peu liées qui doivent être résolues de manière spécifique. Tout d'abord, je vais expliquer les tâches, puis suit une explication de la façon dont vous devez le résoudre.
Votre code doit pour les quatre tâches prendre deux entiers positifs en entrée:, n,m
où n<m
. Toutes les tâches doivent être résolues dans la même langue. L'orientation des matrices est facultative (n sur m peut être interprété comme "n lignes, m colonnes" ou "n colonnes, m lignes").
Tache 1:
Créer (et sortie / impression) un vecteur / liste constituée des éléments suivants: n, n+1 ... m-1, m
. Donc, pour n=4, m=9
, vous devriez sortie: 4,5,6,7,8,9
.
Tâche 2:
Créez (et éditez / imprimez) une matrice / tableau / liste de listes (ou équivalent) ressemblant à ceci:
n, n+1, ... m-1, m
n+1, n+2, ... m-1, m+1
...
n+m, n+m+1, ... 2*m-1, 2*m
Car n=4, m=9
vous devez sortir:
4, 5, 6, 7, 8, 9
5, 6, 7, 8, 9, 10
...
13, 14, 15, 16, 17, 18
Tâche 3:
Créez (et imprimez / imprimez) une table de multiplication n par m (sur n'importe quel format approprié). Exemple pour 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
Tâche 4:
Produire / imprimer un vecteur / liste composé des éléments du tableau de multiplication de la tâche 3, triés par ordre croissant, en conservant les valeurs en double. Pour n=4, m=9
, vous devriez sortie: 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
.
Le défi:
Maintenant, toutes les tâches ci-dessus sont assez triviales. Le vrai défi ici est que le code de la tâche 2 doit commencer par le code de la tâche 1, le code de la tâche 3 doit commencer par le code de la tâche 2 et le code de la tâche 4 doit commencer par le code de la tâche 3.
Pour être plus clair:
Supposons que le code de la tâche 1 soit (fonctionne en octave):
@(n,m)(n:m)
Ensuite, votre code pour la tâche 2 pourrait être (fonctionne dans Octave):
@(n,m)(n:m)+(0:m)'
Le code de la tâche Tâche 3 doit être (ne fonctionne pas dans Octave):
@(n,m)(n:m)+(0:m)'"Code_for_task_3"
Et enfin, le code de la tâche 4 doit être (ne fonctionne pas dans Octave):
@(n,m)(n:m)+(0:m)'"Code_for_task_3""Code_for_task_4"
Il s'agit de code-golf , donc la soumission avec le code le plus court pour la tâche 4 dans chaque langue gagne. Comme toujours: les explications sont fortement encouragées.
0<n<m
ou 0<=n<m
?
>2;
afin que le code de la tâche précédente soit essentiellement rendu non opérationnel?