Aller au contenu

Somme des chiffres d'un entier

Le cadre

  • La somme des chiffres de 1789 est \(1+7+8+9 = 25\)
  • La somme des chiffres de 178 est \(1+7+8 = 16\)
  • La somme des chiffres de 17 est \(1+7 = 8\)
  • La somme des chiffres de 1 est \(1\)

On souhaite coder une fonction récursive telle que somme_chiffres(n) renvoie la somme des chiffres de l'entier positif n.

Pour cela, on peut remarquer que :

  • si n < 10, alors la réponse est n,
  • sinon, la réponse vient de n // 10 et de n % 10 avec un calcul simple.

Exemple : somme des chiffres de 1984

Si n = 1984, alors somme_chiffres(n) est égale à

  • 1 + 9 + 8 + 4 = 22

Mais aussi égale à

  • somme_chiffre(198) + 4

et on peut obtenir

  • 198 avec 1984 // 10 ; le quotient dans la division par 10.
  • 4 avec 1984 % 10 ; le reste dans la division par 10.

Exercice

Coder une fonction récursive somme_chiffres

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /
.128013x/.r;nbylae%êu)d63Am(P+02è-U,59fqK8 N_o=pcwgv4F1kRéhtsSLDji:E050q0l0#0k0+0j0$0K0Q0j0k0$0$0O010#0+0P010406050$0o0u0u0k0e0i040%0N0j0o110N0g0K020k0u0P0f0K0Y0l1b0e0H0o0l0$050c181a1c1e160P04051J1C1M0c1J160q0+0T0_0{0}0 0!0+0S0!0j1!0!0#14050;0h0j0l1V0|0~011Z1#1%1#0#1-1/1+0#0e1K0#0!1;1X010G0?0l0g1p0l010_1h0$0P0k0g0 0z1+2h2j251?281/2b0u2d040a0K0w0e0N0P0N0$0+1k1m0/2f0e0e0l0Q2H1C2o0g1K0c232T2022211,0q2q0 1%0g2a2E1+1S1U0`1=2%0+2)0g0N2-1+0P2M1K2R2T2~172i1m2/262@0e1b0j140W2Q3215312p341?3638140z3c2j3e2R2$013j0k39040s3n2S163q3h0 3t3v0U3y3p323r3E140E3H3A3J3C3s0N373u140r3H1N2|1C2-2W0q222#3R0Q2^2w0.1T1K2{0l2}3d3Y3,0/3@3g1W1?0X140/0G3Y3B3~0 0R140K443Q463s0G140$0N1a0l0M0Q1Z0G0G2M1B1D3^452:0113040v4b3}4v0g140g4A334d4x0p0,3O3f4H4v48040K4S4a4s3o4N3r0$0q14014$1u0g0T0N0+1:0{0K4h4j0K0/0^4m0+4o4q4=4-002a110l0e0K2D2F110G0K4D4$3O4T4a4u2640044_3H5d4c4C4E5j4X3R0N14020j0#0f5o5e1?0u0+3a0y4G3r4x4L4V3z5c5c5p4d5g2M0#0o0e4F5I4R5M5m045T2~065L5y0 5g0l0@0l5E3R5G5b5K4S5W5f145P5R5Z3d5k4B354g4i2v4l4n4p1A5-4I144z5U5?3i5n5U5}4O265r040c0c5x5l265A5C674v4J6n5~1?6j0x6v6h1?4x6a305%3s6e2~6g3r6j0m6A3r6q040W5D6b6G6u5U160c3`3?3Z6#0c3$1C0#3(6*2Z2U0k1.6%3$1I3|6B0 2M0u0M0G0k0X4k0!0s141u1w1y1A0K5H301P3e1J0C2)0K0T1c0+2j0#4-0Z0S0A6{4 531i0^0l4o0+0Q0k0Q1:1A0#1N3e2-3r1^1$1(1*6^3r2s2a2c142y0%0Q0e120#2z0i231l3Y3=6^2 3^6!7N3R5g426s264Q4U6F6o3i4f044:624^4`666U7_0 6D7;6d5Y8684144K4M6G7?4T89014Z4#4%2a4*4,0K4.7}1:4?0_644{2J0j4~0g5052542G4_584$015:5=6G5g5i6f6c3D6I5|8P016j5t5v6O3R6Q6S8h5/6X5;8K83015O0:5`8Y4d4D888(8g8L145*0$5,826w8a047a3d5#8)8T8=0H8$140D8:5X0e9c6i140O9f3i0h411T0u2^994y8h8=5{4W6V9a9j0 8!6T7^8 4w8b8J5K8T8-5Q5S9y6H7|614k7 654r9C6_9E9r8~9V979q0p9M6y9M8=9e6X1C7,6$2T6?1L040-1m7w0G0:0D4a7,2-9o0q9-3-4R0g4~4o2N5Q1:1y000o7g8|0o1/4=1T0+2F1l530N5R0K2M4)0N0i518paa0o0N508A5d201l0S040:2QaD0gaFawaq7D0l0d0K0)2j0^ah6!0K0*0o0$7m0K0k7i8A9|0?0K0ia$7i2G4|0o0bai0Tak0+1l0^2Dap0N0h7m0g0+52ah0u0n2vaq0Z185u0k0#0d7F1R1T3r0k0q9ob22H0K2=0G6j1Ibjbl1l8E1l0B110#1~040L4i0h4{0!1c0$bIa17c6@7f58bF2M0K7Dai7YbI0ebKbk4/00a+bU2-a_6;531c8p0k4/9P4|4/789R4qbfbN9=0t2=2F9|am0P0l1j0_0e0Zavad1:br0g2Oa`1m1y0+0K7ma!1:2F0KadbQ0ubG7Ca!0KbXbZ2#aobQ0gb`1Q3/2.4d7J1`1)2n8+7P2u2w7T7V7X7Z7#9u2S1L3!7b309.8_047:9Y3r7?9s7{cvbL9q6E4t8+9t9q923o6K3R0g9l5h8A9#9%140B020S8X8O6Gc{140h0N1hc?9G9I148N6J968Rc^8T6j0O9id68+6Q9Bc:9D8%5!8)c_5N5^8.9Ldq9D0X0Q140V3u8|dec!8{8}9U5F14c@5J95c!5_dDdid7dk2Sdz4v6M9)604j634_9Sc.9sd#7-68049$dE9VdndpdZdr5B04dt3o6Y9.1P3!6(3:6@0(1:2@0ub=051v04c,bk1Ceha$0K0Z0#0Z4=1l0ger2ib41:1b230Zez7y4,1m05b/0!2M0G1Y1|0P0$0,6l4p0d0R0+0X120l1S0k0d3T0S0ceTeV0caS1|bd2M0i0k0M0Y1p7AbI0g0q0ee:0I0k3=0X1c14e+0;200le/1te?4m2je`b/e}e 1c1C0k4R0v0W0F0y0E0K0B0Kfl0J0r0pa*0j4/1!b2281:010Se{e_1:0*4+2dbT1m0$aT0X7Wbebg3#e93#0:0=0@04.