Maths ...

Problèmes de l'année 2018-2019

Problème n ° 48

Une fonction particulière, le corrigé
Enoncé du problème n° 48

Soit \(f\) la fonction définie sur l’ensemble des entiers naturel par :
l’image d’un entier \(n\) est le plus petit chiffre de son écriture décimale (en base 10).
Par exemple : \(f(2015) = 0\)
Que vaut : \(f(100) + f(101) + f(102) + ... + f(998) + f(999) \)?

Correction du problème n°48
On peut procéder ainsi :
  • Il y a un seul nombre dont l’image est 9.
  • Il y a 7 nombres dont l’image est 8 : 988, 989, 899, 889, 898, 988, 888.
  • Il y a 19 nombres dont l’image est 7 : 997, 979, 799, 887, 878, 788, 779, 797, 977, 778, 787, 877, 987, 978, 897, 879, 798, 789 et 777.
  • Il y a 37 nombres dont l’image est 6,
  • Il y a 61 nombres dont l’image est 5,
  • Il y a 91 nombres dont l’image est 4,
  • Il y a 127 nombres dont l’images est 3,
  • Il y a 169 nombres dont l’image est 2 et
  • Il y a 217 nombres dont l’image est 1.
On peut remarquer que 7 = 1 + 6 ; 19 = 7 + 12 ; 37 = 19 + 18 et ainsi de suite.
La somme à chercher est donc : $$9\times 1+8\times 7+7\times19+...+1\times217=2025$$ On peut aussi vérifier qu’il y a 171 nombres dont l’image est 0 et qu’en ajoutant $$1+7+19+37+....+217+171=900$$ on retrouve les 900 nombres de 100 à 999. Conclusion : $$f(100) + f(101) + f(102) + ... + f(998) + f(999)=2025$$
Et si on utilise Pyton ...

# Probleme une fonction particuliere
 def liste_chiffres_base_dix(n):
    L=[]
    while n!=0:
        L.append(n%10)
        n=n//10
    return L
print(liste_chiffres_base_dix(1234))

def f(n):
    y=min(liste_chiffres_base_dix(n))
    return y
print(f(2018))

S=0
for i in range(99,999) :
    S=S+f(i)
print(S)

fonction particuliere

Luc Giraud

Connexion

Recherche