G2953 **
On appelle c
k« cousin le plus proche de l’entier k » le plus petit entier supérieur à k dont la somme des chiffres (sdc) est égale à celle de k.
Par exemple c
2020= 2101 avec sdc(2101) = sdc(2020) = 4 et sdc des entiers compris entre 2021 et 2100 ≠ 4.
On considère la suite S des c
kpour k = 1,2,3,…….. Ainsi c
1= 10, c
2= 11, ……..
Q
1L’entier 399 appartient-il à la suite S ? l’entier 1569 ? l’entier 1979 ? l’entier 1999 ? l’entier 2020 ?
Q
2Déterminer et caractériser la suite croissante des entiers positifs ≤ 2020 qui n’appartiennent pas à S.
Q
3Déterminer le nombre d’entiers ≤ 2020 qui appartiennent à S.
Q
4Sachant que la somme des n premiers cousins les plus proches est égale à 2110546, en déduire n.
Q1 :
Q2 :
1 2 3 4 5 6 7 8 9 19 29 39 49 59 69 79 89 99 199 299 399 499 599 699 799 899 999 1999
Ce sont les entiers de 1 à 9 et les entiers de la forme a99...999 Q3 : Il y en a 1992 (2020 moins les 28 ci-dessus)
Q4 : n = 2020
Annexe : Programme Python
def somme_chiffres(x):l = [int(i) for i in str(x)]
return sum(l)
def ff(n): #recherche du cousin ok = 0
test = n+1
sdc = somme_chiffres(n) while ok == 0 :
if somme_chiffres(test) == sdc : rep = test
ok = 1 test = test + 1 return rep print("Q1")
l = [399,1569,1979,1999,2020]
for n in range(1,2030):
rep = ff(n) if rep in l : print(n,ff(n)) print("Q2") s = 0 l = []
for n in range(1,2022):
rep = ff(n) if rep < 2021 : if rep not in l : l.append(rep) l.sort()
for k in range(1,2021):
if k not in l : print(k) print("Q3") s = 0 l = []
for n in range(1,2022):
rep = ff(n) if rep < 2021 : if rep not in l : l.append(rep) print(len(l)) print("Q4") s = 0
for n in range(1,2030):
s = s+ff(n) if s ==2110546 : print(n,ff(n),s)