Trouvez l'algorithme appliqué
Olympiades mathématiques, énigmes et défis
-
markspencer
- Messages: 1
- Enregistré le: 11 Aoû 2019, 01:32
-
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
-
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 ?
-
GaBuZoMeu
- Habitué(e)
- Messages: 6016
- Enregistré le: 05 Mai 2019, 11:07
-
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
-
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 ?
Sans plus de précision c'est pas faux après tout ...
Pourquoi 22 ?
-
fatal_error
- Modérateur
- Messages: 6610
- Enregistré le: 22 Nov 2007, 14:00
-
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
-
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
-
par pascal16 » 11 Aoû 2019, 13:04
on est en TDD : le Test Driven Developpement
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 9 invités