Bonjour à toutes et à tous,
je suis en train de faire un cours sur le codage, et pour cela, je cherche à créer l'ensemble des string à 4 lettres minuscules de a à z, sous scilab 5.4.1 32 bits.
Voici mon code:
Mon problème est le suivant: le temps de calcul est beaucoup trop long, du coup j'ai fait varier a de 1 à 1 (environ 3s ), puis de 1 à 3 (environ 28 s) puis de 1 à 6 (environ 120s).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 clear clc alphabet=('abcdefghijklmnopqrstuvwxyz'); tic() for i=1:26 v(i)=part(alphabet,i); end toc() k=1; tic() for a=1:26 for b=1:26 for c=1:26 for d=1:26 w(k)=v(a)+v(b)+v(c)+v(d); k=k+1; end end end end toc()
Plus a varie plus le temps de calcul est long, mais le temps de calcul est exponentiel, alors qu'en toute logique il devrait être proportionnel.
D'où mes questions:
y a t il une erreur dans mon code, ou en tout cas une façon de programmer que scilab n'aime pas?
y aurait-il une façon plus simple de générer l'ensemble de ces mots (aaaa,aaab,aaac...)?
Mais pourquoi donc le temps de calcul n'est pas proportionnel, qu'il y ait de petites différences, en fonction de la charge CPU etc, je veux bien, mais la je ne comprends pas?
Merci, Maxime.
Partager