reBonjour,

je suis partie sur programme qui calcule du factorielle. Grâce a ce site : http://villemin.gerard.free.fr/Wwwgv...r/Factsome.htm dans le premier tableau on nous explique que à chaque multiple de 5, le factorielle "gagne" un 0 ( donc multiplier par 10). Ne sachant pas quand est-ce que le programme doit ce finir, j'ai décidé d'enlever les 0 ( pour un gain de mémoire) et par la suite les remettre ( bref c'est une autre chose). Donc voici mon code:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
import math
 
def factorielle (n):
 
	fac = 1
 
	while n != 0:
 
		fac *= n
 
		n -= 1
		#print (fac)
	return fac
 
 
if __name__ == "__main__" :
 
	print('n=')
	n=input()
 
	if n>4 and n<10:
		a = factorielle(n)
		b = a/10
		print (b)
	elif n>9 and n<15:
		a = factorielle(n)
		b = a/100
		print (b)
	elif n>14 and n<20:
		a = factorielle(n)
		b = a/1000
		print (b)
	elif n>19 and n<25:
		a = factorielle(n)
		b = a/10000
		print (b)
	elif n>24 and n<30:
		a = factorielle(n)
		b = a/100000
		print (b)
	elif n>29 and n<35:
		a = factorielle(n)
		b = a/1000000
		print (b)
	elif n>34 and n<40:
		a = factorielle(n)
		b = a/10000000
		print (b)
	elif n>39 and n<45:
		a = factorielle(n)
		b = a/100000000
		print (b)
	elif n>44 and n<50:
		a = factorielle(n)
		b = a/1000000000
		print (b)
	elif n>54 and n<60:
		a = factorielle(n)
		b = a/10000000000
		print (b)
	elif n>59 and n<65:
		a = factorielle(n)
		b = a/100000000000
		print (b)
	elif n>64 and n<70:
		a = factorielle(n)
		b = a/1000000000000
		print (b)
	elif n>69 and n<75:
		a = factorielle(n)
		b = a/10000000000000
		print (b)
	elif n>74 and n<80:
		a = factorielle(n)
		b = a/100000000000000
		print (b)
	elif n>79 and n<85:
		a = factorielle(n)
		b = a/1000000000000000
		print (b)
	elif n>84 and n<90:
		a = factorielle(n)
		b = a/10000000000000000
		print (b)
	elif n>89 and n<95:
		a = factorielle(n)
		b = a/100000000000000000
		print (b)
	elif n>94 and n<100:
		a = factorielle(n)
		b = a/1000000000000000000
		print (b)
Comme on peut le constater, c'est un code bourrin, voir plus ! je ne voie aucun moyen de faire plus court,surtout qu'il y a 3 paramètre à changer à chaque fois !

auriez-vous des idées?
PS: le programme fonction tel qu'il est ! tester et approuvé !