carrés spéciaux

Bonjour,

quels sont les nombres entiers dont le carré ne contient que les chiffres 0, 1, 4, 6 (en base 10 évidemment) ?

bien cordialement

kolotoko

Réponses

  • bonsoir,

    si quelqu'une ou quelqu'un pouvait lister ces nombres, j'en serais ravi !

    bien cordialement

    kolotoko
  • Tu beux dire base dix=9+1, je présume ;-).
  • il risque d'y en avoir vraiment beaucoup : $1 000 000 000 000$ est le carré de $10^6$ par exemple ...
  • Bonsoir,

    après pythonnade jusqu'à $10^{6}$
    List=[]
    for i in range(10**6+1):
        test=True
        for j in str(i**2):
            test=test*((j=="0") or (j=="1") or (j=="4") or (j=="6"))
        if test:
            List.append(i**2)
    print(List)
    
    
    [0, 1, 4, 16, 64, 100, 144, 400, 441, 1444, 1600, 6400, 10000, 10404, 11664, 14161, 14400, 14641, 16641, 40000, 40401, 41616, 44100, 144400, 160000, 161604, 166464, 461041, 640000, 641601, 646416, 1000000, 1004004, 1016064, 1040400, 1100401, 1104601, 1166400, 1416100, 1440000, 1464100, 1664100, 4000000, 4004001, 4016016, 4040100, 4161600, 4401604, 4410000, 6061444, 6441444, 6610041, 10106041, 10640644, 11614464, 14440000, 14600041, 16000000, 16016004, 16064064, 16160400, 16410601, 16646400, 44116164, 46104100, 64000000, 64016001, 64064016, 64160100, 64641600, 100000000, 100040004, 100160064, 100400400, 101606400, 104040000, 104060401, 106110601, 110040100, 110166016, 110460100, 114041041, 114404416, 116014441, 116640000, 116661601, 141110641, 141610000, 144000000, 146410000, 166410000, 166461604, 166616464, 400000000, 400040001, 400160016, 400400100, 401601600, 404010000, 414041104, 414611044, 416160000, 440160400, 440664064, 441000000, 466646404, 600446016, 606144400, 610040601, 640140601, 644144400, 661004100, 664144441, 1010604100, 1064064400, 1104166441, 1161446400, 1164106161, 1406100004, 1406400004, 1444000000, 1460004100, 1600000000, 1600160004, 1600640064, 1601600400, 1606406400, 1616040000, 1641060100, 1646006041, 1660644001, 1664640000, 4411616400, 4610410000, 6104140641, 6114614416, 6400000000, 6400160001, 6400640016, 6401600100, 6406401600, 6416010000, 6464160000, 6601400001, 6661661161, 10000000000, 10000400004, 10001600064, 10004000400, 10016006400, 10040040000, 10110101401, 10160640000, 10161446416, 10404000000, 10406040100, 10414406601, 10611060100, 11004010000, 11016601600, 11046010000, 11400046441, 11404104100, 11440441600, 11601444100, 11664000000, 11666160100, 14014061161, 14044146064, 14111064100, 14161000000, 14400000000, 14641000000, 16461146601, 16641000000, 16646160400, 16661646400, 40000000000, 40000400001, 40001600016, 40004000100, 40016001600, 40040010000, 40160160000, 40401000000, 40601444004, 41011110144, 41404110400, 41461104400, 41611104144, 41616000000, 44016040000, 44066406400, 44100000000, 46066466161, 46400606464, 46604606161, 46664640400, 60044601600, 60604100041, 60614440000, 61004060100, 64014060100, 64141640644, 64414440000, 66100410000, 66414444100, 66600641041, 101060410000, 101110644441, 104011410064, 104444666041, 104660014144, 106406440000, 110416644100, 111461164164, 114040614601, 116144640000, 116410616100, 140610000400, 140616000144, 140640000400, 141001001001, 144400000000, 144664601104, 146000410000, 160000000000, 160001600004, 160006400064, 160016000400, 160064006400, 160160040000, 160640640000, 160641441601, 161460116041, 161604000000, 164106010000, 164140040164, 164600604100, 166064400100, 166161401641, 166464000000, 404660104641, 406660014601, 414441100441, 416604411601, 440406104161, 441161640000, 461041000000, 464604461161, 466000100164, 600606400144, 604616660041, 610040664601, 610414064100, 611461441600, 640000000000, 640001600001, 640006400016, 640016000100, 640064001600, 640160010000, 640640160000, 641601000000, 646416000000, 660140000100, 666166116100, 1000000000000]

    S
  • NB : Le même genre de programme torche le défi Turing 154.
  • Bonjour,

    merci à samok pour avoir lister les carrés ne comportant que 0, 1, 4, 6 et ce, jusqu'à mille milliards.

    bien cordialement

    kolotoko
  • Pour être encore plus "pythonnesque", on peut réécrire le code de Samok :
    print([i**2 for i in range(10**6+1) if all(j in "0146" for j in str(i**2))])
    
Connectez-vous ou Inscrivez-vous pour répondre.