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)?
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×1+8×7+7×19+...+1×217=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
# 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)