Trouvez l'algorithme appliqué

Olympiades mathématiques, énigmes et défis
markspencer
Messages: 1
Enregistré le: 11 Aoû 2019, 01:32

Trouvez l'algorithme appliqué

par markspencer » 11 Aoû 2019, 01:37

Trouvez l'algorithme appliquée à ces trois matrices pour avoir le résultat de sortie(l'algorithme est similaire pour les trois exemples)


Exemple 1

Code: Tout sélectionner
Entrée                     Sortie
  1                                -1
  -1



Exemple 2
Code: Tout sélectionner
Entrée                  Sortie
5                               47
1 2 3 4 5         
6 7 8 9 0
1 2 3 4 5   
6 7 8 9 0
1 2 3 4 5



Exemple 3

Code: Tout sélectionner
Entrée                                Sortie
6                                            420
10   2  3  4  5  10
1   20  3  4  20 6
1   2  30 30  5  6
1   2  40 40  5  6
1  50   3  4  50 6
60  2   3  4  5  60



GaBuZoMeu
Habitué(e)
Messages: 6016
Enregistré le: 05 Mai 2019, 11:07

Re: Trouvez l'algorithme appliqué

par GaBuZoMeu » 11 Aoû 2019, 09:09

Code: Tout sélectionner
Facile !!
J'appelle A, B, C les matrices de tes trois exemples.
Code: Tout sélectionner
def Markspencer(M) :
     if M==A : return -1
     elif M==B : return 47
     elif M==C : return 420
     else : return 22

J'ai bon ? :mrgreen:

GaBuZoMeu
Habitué(e)
Messages: 6016
Enregistré le: 05 Mai 2019, 11:07

Re: Trouvez l'algorithme appliqué

par GaBuZoMeu » 11 Aoû 2019, 09:12

Ah j'en ai un autre :

Code: Tout sélectionner
def Markspenserbis(M) :
     a=M[0,0]
     return -1 + 8*(a+1) + 333*(a+1)*(a-5)/55


J'ai encore bon ?

Cliffe
Membre Rationnel
Messages: 967
Enregistré le: 12 Juin 2012, 15:25

Re: Trouvez l'algorithme appliqué

par Cliffe » 11 Aoû 2019, 09:27

GaBuZoMeu a écrit:
Code: Tout sélectionner
Facile !!
J'appelle A, B, C les matrices de tes trois exemples.
Code: Tout sélectionner
def Markspencer(M) :
     if M==A : return -1
     elif M==B : return 47
     elif M==C : return 420
     else : return 22

J'ai bon ? :mrgreen:


Sans plus de précision c'est pas faux après tout ...
Pourquoi 22 ?

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Trouvez l'algorithme appliqué

par fatal_error » 11 Aoû 2019, 10:39

slt,

je prendrais la somme des deux diago.
et jeleve le coeff central (qui vaut 0 dans le cas où la matrice est de dimension paire)
Code: Tout sélectionner
1;
M0 = [-1];
M1 = [
    1 2 3 4 5;
    6 7 8 9 0;
    1 2 3 4 5;
    6 7 8 9 0;
    1 2 3 4 5;
]
M2 = [
    10   2  3  4  5  10;
    1   20  3  4  20 6;
    1   2  30 30  5  6;
    1   2  40 40  5  6;
    1  50   3  4  50 6;
    60  2   3  4  5  60;
]

function s = sss(M)
    s = 0;
    s += sum(diag(M));
    s += sum(diag(fliplr(M)));
    lm = length(M);
    if mod(lm,2)==1
        idx = (lm+1)/2;
        s -= M(idx,idx);
    end
endfunction


sss(M0)% -1
sss(M1)% 50-3=47
sss(M2)% 420-0
la vie est une fête :)

GaBuZoMeu
Habitué(e)
Messages: 6016
Enregistré le: 05 Mai 2019, 11:07

Re: Trouvez l'algorithme appliqué

par GaBuZoMeu » 11 Aoû 2019, 11:17

Ça marche aussi. On a donc un troisième algorithme.

pascal16
Membre Légendaire
Messages: 6663
Enregistré le: 01 Mar 2017, 14:58
Localisation: Angoulème : Ville de la BD et du FFA. gare TGV

Re: Trouvez l'algorithme appliqué

par pascal16 » 11 Aoû 2019, 13:04

on est en TDD : le Test Driven Developpement

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite