import math
def nb_diviseurs(n):
count = 0
for i in range(1, int(math.sqrt(n)) + 1):
if n % i == 0:
if n == i * i: count += 1
else: count += 2
return count
maxi = 0
for n in range(1, 100):
t = nb_diviseurs(n)
if t > maxi:
print(f"{n} a {t} diviseurs")
maxi = t
# Résultats :
1 a 1 diviseur
2 a 2 diviseurs
4 a 3 diviseurs
6 a 4 diviseurs
12 a 6 diviseurs
24 a 8 diviseurs
36 a 9 diviseurs
48 a 10 diviseurs
60 a 12 diviseurs
Nombre de jours entre 2 dates
mois_jours = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
def est_bissextile(annee):
return (annee % 4 == 0 and annee % 100 != 0) or annee % 400 == 0
def jours_dans_annee(jour, mois, annee):
jours = jour
for m in range(1, mois):
jours += mois_jours[m - 1]
if mois > 2 and est_bissextile(annee): jours += 1
return jours
def jours_entre_dates(j1, m1, a1, j2, m2, a2):
if (a1, m1, j1) > (a2, m2, j2):
j1, m1, a1, j2, m2, a2 = j2, m2, a2, j1, m1, a1
jours_total = 0
if a1 == a2:
return jours_dans_annee(j2, m2, a2) - jours_dans_annee(j1, m1, a1)
jours_total += (366 if est_bissextile(a1) else 365) - jours_dans_annee(j1, m1, a1)
jours_total += jours_dans_annee(j2, m2, a2)
for annee in range(a1 + 1, a2):
jours_total += 366 if est_bissextile(annee) else 365
return jours_total
# Exemple
>>> jours_entre_dates(15,10,1582,4,8,2024)
161366
Programme CULMINATION pour les ti-82/83/84
Disp "JJMM.AA ?"
Input D
Disp "LONGITUDE ?"
Input L
dbd(101+fPart(D),D→N
2π(N-81)/365→B
7.678sin(B+1.374)-9.87sin(2B)→E
Disp "CULMINATION"
12+E/60-L/15▸DMS