A385. Têtes de séries Imprimer ***
Q1 Nous sommes trois entiers positifs distincts à sept chiffres communément appelés nombres de Niven (ou encore nombres Harshad) qui sont divisibles par la somme de leurs chiffres (en base 10).
Nous avons les caractéristiques suivantes :
- chacun de nous est le premier terme d’une suite de cinq entiers consécutifs croissants qui sont eux aussi des nombres de Niven,
- nous avons la même somme de nos chiffres respectifs qui est un nombre premier et parmi les sommes des chiffres des quatre entiers qui nous suivent, on trouve deux puissances parfaites d’ordre ≥ 2.
Qui sommes-nous ?
Q2 Je suis un nombre de Niven à neuf chiffres. Les huit entiers qui me suivent ont la même propriété et parmi les sommes de leurs chiffres on trouve un nombre premier et deux puissances parfaites d’ordre ≥ 2.
Qui suis-je?
Q1 :
Un automate (voir annexe) trouve : 1614623 , 3229223 et 8073023
Q2 :
Les trois intervalles dont les huit derniers nombres contiennent deux puissances et un nombre premier sont : [19;27] [20;28] [31;39]
Un automate permet ensuite de trouver les 9 nombres de Niven consécutifs :
124324220 124324221 124324222 124324223 124324224 124324225 124324226 124324227 124324228
Les sommes se trouvent dans intervalle [20;28]
Annexes:
Pour Q1 :
deb = 1000000 fin = deb*10
for i in range(deb,fin):
a=i b=i+1 c=i+2 d=i+3 e=i+4
sa = somme_chiffres(a) sb = somme_chiffres(b) sc = somme_chiffres(c) sd = somme_chiffres(d) se = somme_chiffres(e) if a%sa ==0:
if b%sb==0:
if c % sc ==0:
if d % sd ==0:
if e % se ==0 :
if est_premier(sa):
print(a,b,c,d,e) print(sa,sb,sc,sd,se) print(" ")
Pour Q2 :
mult = 20+8 deb = 100000000 fin = deb*10
for ii in range(deb//mult,fin//mult):
i = ii * mult
if i % 100000 ==0 : print(i)
a=i b=i-1 c=i-2 d=i-3 e=i-4 f=i-5 g=i-6 h=i-7 j=i-8
sa = somme_chiffres(a) sb = somme_chiffres(b) sc = somme_chiffres(c) sd = somme_chiffres(d) se = somme_chiffres(e) sf = somme_chiffres(f) sg = somme_chiffres(g) sh = somme_chiffres(h) sj = somme_chiffres(j) if a%sa ==0:
if b%sb==0:
if c % sc ==0:
if d % sd ==0:
if e % se ==0 : if f % sf ==0 : if g % sg ==0 : if h % sh ==0 : if j % sj ==0 :
print(a,b,c,d,e,f,g,h,j)
print(sa,sb,sc,sd,se,sf,sg,sh,sj) print(" ")