Nombre de partitions d'un entier
Le cadre
On considère ici qu'une somme peut comporter un terme ou plus, que l'ordre des termes ne compte pas, de plus, les termes doivent être des entiers strictement positifs. Ainsi :
-
il y a \(3\) façons d'écrire \(3\) comme une somme :
- \(3 = 3\),
- \(3 = 2 + 1\) ;
- \(3 = 1 + 1 + 1\) ;
-
il y a \(7\) façons d'écrire \(5\) comme une somme :
- \(5 = 5\) ;
- \(5 = 4 + 1\) ;
- \(5 = 3 + 2\) ;
- \(5 = 3 + 1 + 1\) ;
- \(5 = 2 + 2 + 1\) ;
- \(5 = 2 + 1 + 1 + 1\) ;
- \(5 = 1 + 1 + 1 + 1 + 1\).
Exercice
Coder une fonction nb_sommes qui prend un paramètre entier strictement positif n et qui renvoie le nombre de façons d'écrire n comme une somme, sans compter l'ordre.
- Contraintes
-
- \(0 < n < 128\)
- Modules
mathetfunctoolsinterdits - Code source limité à 2000 caractères
Indice
-
Toujours commencer par dénombrer à la main les premiers cas.
-
Bien ranger les cas, par catégorie ; faire des figures.
-
Trouver une formule à partir des cas bien rangés.
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
.9888.128013x/.ùTr;nbOylaeêïu)dVM6ç3Am?(P+02è-@],59fq!78 N_o=pcwgvF41`kRIéhtsàSLC[ji:E050u0p0;0o0|0n0=0U0!0n0o0=0=0Y010;0|0Z010406050=0s0B0B0o0h0m040@0X0n0s1f0X0j0U020o0B0Z0i0U0-0p1p0h0Q0s0p0=050d1m1o1q1s1k0Z04051X1Q1!0d1X1k0u0|0%17191b1d0:0|0$0:0n1=0:0;1i05120k0n0p1-1a1c011;1?1^1?0;1~201|0;0h1Y0;0:221/010P140p0j1D0p01171v0=0Z0o0j1d0H1|2v2x2j242m202p0B2r040b0U0E0h0X0Z0X0=0|1y1A102t0h0h0p0!2V1Q2C0j1Y0d2h2+2e2g2f1}0u2E1d1^0j2o2S1|1*1,18232^0|2`0j0X2~1|0Z2!1Y2)2+3c1l2w1A302k350h1p0n1i0U0*2(3g1j3f2D3i243k3m3o0H3r2x3t2)2@013y0o3n040U0z3C2*1k3F3w1d3I3K0U0)3O3E3g3G3U3o0N3Y3Q3!3S3H0X3l3J3o0x3)3u3h1.3x3.3z3L0S3?3R3_3T3{3:3L0T3 3+413-3/3V0O473v493$040*0G4e3^314a3|0*3q1R3s3*4f4n4h0*3B4s3D4u4m3j433K0*3N4A3P3@3#4F1i0*3X4J3Z4v4E4b4O3(4R1#3a1Q2~2.0u2g2?3,0!362K0 1+1Y390p3b3s3Y054,104@4T3x1i2J0B3Y0U4L3,0X1i0Y53554g0k1i1*2$4_404n1h040D0t3)4C3G0,5e0p0P5h484n0#3o5v4~3T0P1i0j0k0W0,0W0=0X1o1O5A4D245k0D5O3#5E5T3,5k0M5a5i3j1i0,5W495k0t0}3)0U5/545#245r040|5u4R5;5w2k5R5)4w5V4Y5=1d5Y5!5}4 045(6368651i5n5{5b4n0X5y04350;675B016k1i336p5P3T501J605~1i5-4R065:6G5|6q5@5_6v5U6m6M561i020n0;0i6P4g5%6A5Q6C5.6H6%6i2k5@2!0;0s0h0j6W4n0B0|1i4k6E6%5/6)5?1i0p1^5`3c6I6w3H6Y6h646r5859786d016?4O6Z6e046D3c6F6{6G6}1d6+116.6:7d6q7g4i6$6(795@700=0p7i015k7l4t7o7p790j6y526c6q5k0`5S7S757P6O7X3G667w7Y773e795+0L6;2k57047c737q766m5G5I5K5M1P7#5X1i7W7+7e7Z7v7@797;0J7/247y4r847T1i5Z7(6N6b887e8a8c1d8e7H5+8q7a040F8v867{5J5L2J7 8g755 806X7!8n6q8p8k3,7Z8m4^7,8i8z7*8T7e8u6`5:7^7s6-6/8W04518t1i7V7H868.048j8M7)6a8?0t7.6E5p3,5@10728Y6q6l548J4w5D7`8C7~8?83958`879h7$6f7K4B7N7e0=2A04011I0j0%0X0|21200U350B0k2!0U2X0P0o0y1z160u000/0!0h0|9G0+0j0+2t5M0U0s2`0U7}2J0M9%2x164,1E0;0p0h0U0n003.0u2!017A745q1i6,7u8z5d041S9f8;5E8B9(5N996B5la88L9k818@8+8S3D7^8!8_9 040P3.al8v6s5^9j3D9~8Qa40h2x0$7Gad6!afaI8r6@7zaL7I8V8P498saS6j1i8yaV5$ahan8U040t6g7m1Q4{4?4Za.0d4$1Q0;4(a?2;2,0o1 a:4$1W4}752!0B0W9J0,0p0W0:0z1i1I1K1M1O0U9n2*1#3t2~3G0o0u0B1z2U0|1z0U33at1i1Wbnbpbr2V0J1f0;2c040v1q0|2x9:0U0o0%2#9!9$0o1x9G0B0/2h4-bkb00~1A2!390/7F0j12b-9?bgab9N217^bK2h1p9:0c1i090D0j09a*3s0U2oaB49b_0:b{0pb}04b 0,c2539:3l1O9*bPbR9#9HbL0$aE9Z2X0(9;2!0=9*9.2JbObQ0!9?0o9%8Db@79c9cbcdb 0S0U0Y3M0U0F0U0HcU3pcV0*ch5{0Dabc51A1l2e1z0$044Q0=c-0jc/0U2w0h1f1O6g1(4/2 49261@1_1{4;4!3e4Ya-3L5:030Udedg7n5/dh6G031k0ddba/2+a 1Z040l1A0Z0p1xbO0s1b0|0U0k1a0!0s209=0!11bNb)0hb+2o122Vc*c74ncM0ob|b~0DcQcS0)cYcX0Fc#c3an1%bl1+3Gd3281`38d84^da4-dcdjdfdfdie0dmdle2dma,d}dq4#4:b$0;cq9G1M00149%000o0$2U9H009#21c)0X0fb:c_1w16cs2x2?cjcC1Oeec,2Pc@c:2(c?c/0eb#dteHc.040g0:0/3.0I2JeLeIc^0}0U0^219D9F212Xc`bFbt0jb?dV2kdXdZcec0c$73c6b^9Sb`dYccd!cgd-2*c_1qc|16eF0U0/0$3JdA9C5Le,9H21e/bs9Mfme@24e_f4e{c1f73L0u1zee19exdB0UeA0je.fa9zc5c=fefg9B0?fs1dfucO0Df63YeOd/b00wfBeI9-cJb/bYa|1^9=fD0B0qcC2!19dT2XdPdH2Z2odLcDbRdLeeaF9B2X0%1NfZc 1Xe)16fo2Ve?f02Ucaf3fVfx53dx0sbQb/bUdC9%e-0/e+2!dKcJ98c dI3t1^04gccI7~fr4`d}7vdbdUeDbgfAb/9B0ZeyfGaEfI0UgQfMeefffhfRgL4|6bdb9*11170p9*2R6.g!0Xdzg+4?g-d}bv0j0P0/9Sdy9=g`fOg)54dbgNd}fZgF1kgF0_f*ee0!3JdHdJewgxe-escJgghbe84|gP9;8E9HfBewgVfFfHeChz21fdg(0n0Ug*dbg~hx2X1p0j0|0I9G0$gwh33J210C05gDhg0|1tdDg|6m1B6T1GhQ4?9*ej0j000mbOdAdH9$9J9L0jheh+h*h,had}0,cR3phwh@bvhMh`h|cHehergudI21i1bue%bffm160*i4gEh+0@331z9*2016b=guf9c{emdRdU100s0c17dYff3.9z165-h)05gFh.h?3Lfd7FdIgPbM0Uis1p0c0|0B1n9*bu1wdD2o0n0IbQ3pi=1A0X0kc|b/ilgee;gKhvdog gSfCfngWhGg!hIg$i8g,0J4rgO0Dg:f{1g2Pbf2Jb-0tiwi6iZid3Lh`fd2w169Bi%hMc6b.eei,0oi.i:0Bi~c*i`i|g2bN4=6?hW214,0n1z2`jRj0j2eej4fKf_b@hb0U0J0Ui!hBgT21g#i-i/fhfdjzj9hx0DdLi@fr9@2x0!9z0j9$iMi.eYj!1vj%0pjw1Qhf1QiW0dkn0dkpkriW1Xdv0U6,2Pgpj{0h0Ifc0c0o2$1JiKf:f=21f{6.2!0jdLg93ta;ecd0bAbqhUf_aF9;by1ZkYbCe;bE2UbH0w0/bq0r0=dYj6bU0;5Lk^iscncFh.hl0!0:aHdpf!eQi/0$bO6T1d0a2s3,0;0#1J0X0{6@9%0h0!1:2a0Z0=0}0ddo0ui30{0=101^0%0h0e2`0;0d1?0d0{100!b70u2,libqll0K0*0N0eiv0G0d23110=1R0%0$0d0H0x0o0G0e0=l)2sbF201d0}0#1qhUc@0}010d3L0_dMes2#dTfd9#0|jtiKg@f/bgccdxc{0=0e54l9lb0;ldlf49lhljll2s0=lolq0;lslulwlylA701+lElGlI0:lKlMlOlQmt0|lUlWlYl!1bl$l(l*l,l.l:l=g!k.0pl_l{6/330$l m1ePkwdwdyj,1f1^7F9=cp0u9Q3.f3g^9I1z2$j60R0U0.jI1Acc0|c=fng`9=k`k|1fm{cG0UbXk=k@m7ee9$4,e=9;bQ9=iknt9;1233211MbM2U0/epbM9Q0/10b-161GiDfE16f{1Jjum^14ndb+kT1)0nbl0;3beM040A0%bMiJ8Fn+4#n)1)4(0!00jDgW9JkafQfe9R9Tg=17n{fNnib{ma1NcAo6ee2ekEc50P2ml20pfZ0u4(1)n)eReJ2Oj0i`eZ1Rn=a;n@0 4(0Vfn1a9!m_nd9;bS0U0{ngepcc2q0j9*k@0s0P9%dD9xfF0q9:9-0o2wa}oO0cgVoaoJc`9J2UkJj`0UatkR2V2`nW0U0R4#oo4#n%1)d;3,d?d52B7e2G2o2q1i2M0@o20Zee0E0mbZazbj4=b13d4^dp7C7Z0P2P7R8G3G978;pu9#2$0X2u7HpAaP0,7Zi/2Rc{8+l2l45o7^fI1i0KpQaHa+7C5s94a$7epIpy8Q9b5F9d8Ea7aP8=aP5+bi1j9p6qpU04pWkHpR8#6|p!0493pH5zp;p,aahtp:p*8Kpmb19lakaZ69ambja%5,9}p`756Kp$f8pT62aq6Q046S6Uavp?6#q17M8%a07t8*qjaM6^qp8$q3mFqt3Lqv8{qL8w0Y7?c47^aUqd5jqE7m7MqP7e8(a2qWq$7L6{qH047EpYai5*q)q=q+q@a1qKqxqeqa9eqDaKq%a!qffS8w8bq:aN8fq{q(qir361qVrl7:1irero8drg8|awaX8+p-7|qbr79gp%p{qwq!89rqqCr9aJ8^rH858XrE8H6f5oqqarr1rbpTa4a6rCagrzp.acrL7jrDqmrPa#r.8hrkrOrFrnriaefyrc5@at0hrKr@75ax6uqW5Fa0k$qcr`rt7hr7rNaAq#ruqW7;aYrs6xr:qgaja)3?k2a:poeb0%kUdsa;11131504.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)