Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
2 beğenilme 0 beğenilmeme
1.1k kez görüntülendi
$\color{red} {\textbf{Soru:}}$ Bir düzgün $n$-genin köşelerinden üçünü köşe kabul eden üçgenleri düşünelim. Bu üçgenlerden birbiriyle eş olanlar aynı kabul edilirse, farklı üçgenlerin sayısını veren $f(n)$ dizisinin programını yazınız. $3\leq n \leq 27$ için dizinin ilk $25$ terimini listeleyen bir çıktı üretiniz.

 

$\color{blue} {\textbf{Açıklamalar:}}$

$\color{blue} \bullet $ Örnekler; $n=3$ iken eşkenar üçgende sadece eşkenar üçgen vardır ve $f(3)=1$, $n=4$ iken karede sadece ikizkenar dik üçgen vardır ve $f(4)=1$, $n=5$ iken düzgün beşgende $\{ 36^\circ, 72^\circ,72^\circ \}$ ve $ \{ 36^\circ, 36^\circ, 108^\circ \}$ üçgenleri vardır ve $f(5)=2$ dir.

$\color{blue} \bullet $ Ben Python dilini kullanıyorum ancak bilgi çeşitliliği açısından Mathematica veya bildiğiniz başka kodlama dilleri ile çözümler de gönderebilirsiniz.
Veri Bilimi kategorisinde (2.6k puan) tarafından  | 1.1k kez görüntülendi

5 Cevaplar

2 beğenilme 0 beğenilmeme
En İyi Cevap
Kağıt kalemle uğraşırsak verilen fonksiyonun formülünü bulabiliriz.

Bir düzgün $n$-gende üç köşenin birleşmesiyle oluşabilecek en ufak açı $\frac{180^\circ}{n}$'dir. Bu açı da ardışık iki köşe ve üçüncü herhangi bir köşe seçilmesiyle elde edilir. Düzgün $n$-gende köşeler seçilerek oluşturulan üçgenlerin hepsinin dış teğet çemberi aynı olacaktır. Dolayısıyla bu seçme yöntemiyle elde edilen iki üçgenin eş olması için gerek ve yeterli şart açılarının aynı olmasıdır. Bu üçgenlerin ise herhangi bir açısı $1\leq k\leq n-2$ tamsayı olmak üzere $\frac{180^\circ}{n}\cdot k$ şeklindedir çünkü aslında düzgün $n$-gen bir kirişler $n$-genidir (bu tabir ne kadar doğru bilemem ama demek istediğim anlaşıldı umarım  :D). Üçgenin açıları $\frac{180^\circ}{n}k_1$, $\frac{180^\circ}{n}k_2$ ve $\frac{180^\circ}{n}k_3$ olsun. İç açıları toplamı $180^\circ$ olduğundan $k_1+k_2+k_3=n$'dir. Soru bu haliyle dağılım sorusu gibi gözükse de sıralama önemsiz olduğundan tam bir dağılım sorusu değildir.

Permütasyonda sorun çıkartan kısım $k_i$'lerin bazılarının eşit olduğu durumlardır. $k_1=k_2$ için $2k_1+k_3=n$ denklemine bakalım. Bu denklemin $n$ tekse $\frac{n-1}{2}$ adet, çiftse $\frac{n-2}{2}$ adet çözümü vardır. Eğer $3\mid n$ ise bir tane $k_1=k_2=k_3$ çözümü vardır, değilse yoktur. Üç değişkenin eşit olduğu çözüm sayısı $a$, sadece iki değişkenin eşit olduğu çözüm sayısı $b$, üç değişkenin de farklı olduğu çözüm sayısı $c$ olsun. Dağılımdan $k_1+k_2+k_3=n$ olan sıralı üçlü sayısı $\dbinom{n-1}{2}$ bulunur. Yani $$a+3b+6c=\dbinom{n-1}{2}$$ olacaktır ve bizim aradığımız sayı $a+b+c$'dir.

Eğer $n=6k$ ise $a=1$, $b=\frac{n-2}{2}-1$ olacaktır. Buradan $c=\frac{n^2-6n+12}{12}$ bulunur. Dolayısıyla $a+b+c=\frac{n^2}{12}$ bulunur.

Eğer $n=6k+1$ ise $a=0$, $b=\frac{n-1}{2}$ ve $c=\frac{n^2-6n+5}{12}$ olur. $a+b+c=\frac{n^2-1}{12}$ bulunur. Bu şekilde ilerlenirse aranan sayıya $f(n)$ dersek $$f(n)=\begin{cases} \frac{n^2}{12} \quad &\text{eğer} ~~~n \equiv 0\pmod{6}~~~ \text{ise}\\ \frac{n^2-1}{12} \quad &\text{eğer}~~~ n \equiv 1,5\pmod{6}~~~\text{ise} \\ \frac{n^2-4}{12} \quad &\text{eğer}~~~ n \equiv 2,4\pmod{6}~~~\text{ise} \\ \frac{n^2+3}{12} \quad &\text{eğer}~~~ n \equiv 3\pmod{6}~~~\text{ise} \\ \end{cases}$$ elde edilir.
(127 puan) tarafından 
tarafından seçilmiş
Güzel çözüm, tebrikler.
1 beğenilme 0 beğenilmeme

 Cok hizli degil ama Mathematica ile soyle yapabiliriz. $n=1,2,...,27$ icin 30 saniye aliyor..

Ana mantik, duzdun cokgenlerin koordinatlarini biliyoruz ve CirclePoints[n] ile buluruz. $n$ noktanin 3lu altkumelerini buluruz ve her uc noktayi birlestirerek duzgun cokgen icine cizilebilien ucgenleri buluruz. Sonra bu ucgenlerin alanlarini bulup, ayni alana sahip ucgenleri sileriz. Burasi biraz riskli, farkli ucgenler cok dusuk ihtimal olsa da ayni alani verebilir. Elimizde kalan alanlar farkli ucgenlerin sayisini verir. Sonuctan %100 emin degilim ama dogru gibi duruyor..

f[n_] := Area[#, WorkingPrecision -> 100] & /@ (Polygon[#] & /@ Subsets[CirclePoints[n], {3}]) // DeleteDuplicates // Length
TableForm[Transpose@{Range[3, 27], f /@ Range[3, 27]}, TableHeadings -> {None, {"n", "f(n)"}}]

$
\begin{array}{cc}n&f(n)\\\hline
3 & 1 \\
 4 & 1 \\
 5 & 2 \\
 6 & 3 \\
 7 & 4 \\
 8 & 5 \\
 9 & 7 \\
 10 & 8 \\
 11 & 10 \\
 12 & 11 \\
 13 & 14 \\
 14 & 16 \\
 15 & 19 \\
 16 & 20 \\
 17 & 24 \\
 18 & 27 \\
 19 & 30 \\
 20 & 31 \\
 21 & 37 \\
 22 & 40 \\
 23 & 44 \\
 24 & 45 \\
 25 & 52 \\
 26 & 56 \\
 27 & 61 \\
\end{array}
$

 

Table[Show[ Graphics[{RandomColor[], [email protected], Polygon[#]}] & /@ 
   Subsets[CirclePoints[n], {3}],   PlotLabel -> "n=" <> ToString@n], {n, 3, 10}]

 

$f(12)=11$ icin butun farkli ucgenler.

Yukarida da belirttigim gibi alandan gitmek tehlikeli. Cunku ucgenler es olmasa da ayni alana sahip olabiliyor. Ya acidan gidilecek yada kenar uzunluklari karsilastirilacak. Ben ikincisini sectim.

f[n_] := Sort /@ (Apply[EuclideanDistance, Subsets[#, {2}] & /@ Subsets[CirclePoints[n], {3}], {2}] //N[#, 100] &) // DeleteDuplicates // Length
Table[{n, f[n]}, {n, 3, 27}] // Quiet

{{3, 1}, {4, 1}, {5, 2}, {6, 3}, {7, 4}, {8, 5}, {9, 7}, {10, 8}, {11, 10}, {12, 12}, {13, 14}, {14, 16}, {15, 19}, {16, 21}, {17, 24}, {18, 27}, {19, 30}, {20, 33}, {21, 37}, {22, 40}, {23,  44}, {24, 48}, {25, 52}, {26, 56}, {27, 61}}

 

(2.9k puan) tarafından 
tarafından düzenlendi
Ökkeş hocam teşekkürler. Sizin listenizin sayıları gereğinden biraz büyük gelebiliyor bazen.

$3 \leq n \leq 27$ için benim listem şöyle:

$$ [1, 1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16, 19, 21, 24, 27, 30, 33, 37, 40, 44, 48, 52, 56, 61] $$

Örneğin $7$-gende, sayarak $f(7)=4$ tane üçgen buluyorum. $7\alpha = 180^\circ $ olmak üzere $\{ \alpha, \alpha, 5\alpha \}$, $\{ \alpha, 2\alpha, 4\alpha \}$, $\{ \alpha, 3\alpha, 3\alpha \}$, $\{ 2\alpha, 2\alpha, 3\alpha \}$ üçgenleri.
Alan hesabini numerik olarak hesaplarken yuvarlama hatasi olmus, son rakam farkli olunca alani farkli saymis ve oldugundan fazla ucgen elde etmisiz..  Duzelttim. Sizin buldugunuz sonucla bazi farkliliklar var hala. Biraz dusuneyim, belki baska bir yaklasim bulurum..
$f(12)=11$ olduguna $\%99.9$ eminim :)
Güzel çizim Ökkeş hocam. $12$-gen içinde $\{ 30^\circ, 30^\circ, 120^\circ \}$ üçgeni de olmalıdır. Bunu da eklerseniz $f(12)=12$ oluyor.
Son 12 sekilden 4. ve 6. ucgenlerin alanlari ayni ama es degiller.

$-\frac{1}{8} \left(\sqrt{3}-3\right) \left(1+\sqrt{3}\right)=\frac{\sqrt{3}}{4}=0.433013$
Teşekkürler Ökkeş hocam. Elinize sağlık. $4$ üncü ve $6$ ncı üçgenlerin alan eşitliğinden faydalanarak başka bir geometri sorusu çıkarabilirim sanıyorum.
1 beğenilme 0 beğenilmeme
a(n) = round((n + 3)^2/12)

[a(i) for i in 0:45]

////////// Sonuc

46-element Vector{Float64}:
   1.0
   1.0
   2.0
   3.0
   4.0
   5.0
   7.0
   8.0
  10.0
  12.0
  14.0
  16.0
  19.0
  21.0
  24.0
  27.0
  30.0
  33.0
  37.0
  40.0
  44.0
  48.0
  52.0
  56.0
  61.0
  65.0
  70.0
  75.0
  80.0
  85.0
  91.0
  96.0
 102.0
 108.0
 114.0
 120.0
 127.0
 133.0
 140.0
 147.0
 154.0
 161.0
 169.0
 176.0
 184.0
 192.0

Nasil oldu bu boyle ? 

(1.6k puan) tarafından 
Benim elde ettiğim liste ile sizinkini karşılaştırdım. İlk $200$ terimde aynı değerler üretiliyor, ilginç. Takip edenler için, yazdığınız kodun matematiksel ifadesini verebiliriz: $x$ gerçel sayısına en yakın tam sayıyı veren (tam sayıya yuvarlayan) fonksiyon $r(x)$ olmak üzere $a(n) = r\left( \dfrac{n^2}{12} \right) = f(n)$ olmaktadır.

($r( 0,5 ) = 1 $ olarak yuvarlanır ve koddaki round fonksiyonuna karşılık gelir.)

 

$a(n)$ fonksiyonunuz neden doğru çalışıyor, şu anda benim de pek fikrim yok.
1 beğenilme 0 beğenilmeme

Problem $a + b + c = n$ denkleminin pozitif tam sayılarda $a \leq b \leq c$ koşulu altındaki çözüm sayısının bulunmasıdır. Bu değere, $n$ nin $3$ lü $ \color{red} {\text{parçalanış sayısı}} $ denir. Bu sınırlamalarla, $a$ sayısı $n/3$ ü aşamaz, $b$ sayısı da $n/2$'yi aşamaz. Problemi biraz daha açıklayalım:

 Küçük sayılarda çözümler kolayca sayılabiliyor. Örneğin $n=8$ için: $8 = 1 + 1 + 6 = 1 + 2 + 5 = 1 + 3 + 4 = 2 + 2 + 4 = 2 + 3 + 3$ olup $f(8 ) = 5$ tir. Bizim problemimizde düzgün $8$-gende $5$ tane farklı üçgen oluşur demektir.

Buna göre aşağıdaki Python kod parçacığını yazabiliriz:

def f(n):
    sum = 0
    for a in range(1, n//3 + 1):
        for b in range(1, n//2 + 1):
            for c in range(1, n-1):
                if a <= b <=c and a+b+c==n:
                    sum += 1
    return sum

liste1 = []
for i in range(3, 27):
    liste1.append(f(i))
print(liste1)

 

Bu durumda liste1 isimli liste bize $n=3$ dahil ve $n=28$ hariç, istenen aralıktaki parçalanış sayılarını sunuyor ve 

$$ [1, 1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16, 19, 21, 24, 27, 30, 33, 37, 40, 44, 48, 52, 56, 61] $$

çıktısını elde ediyoruz.

(2.6k puan) tarafından 

Mathematica'nin bunun icin IntegerPartitions[] fonksiyonu var. $n=3,4,...,500$ icin hesap 1 saniye falan suruyor.

 

Table[{n, Length@IntegerPartitions[n, {3}]}, {n, 3, 500}]

$\begin{array}{lllllll}
 \{3,1\} & \{4,1\} & \{5,2\} & \{6,3\} & \{7,4\} & \{8,5\} & \{9,7\} \\
 \{10,8\} & \{11,10\} & \{12,12\} & \{13,14\} & \{14,16\} & \{15,19\} & \{16,21\} \\
 \{17,24\} & \{18,27\} & \{19,30\} & \{20,33\} & \{21,37\} & \{22,40\} & \{23,44\} \\
 \{24,48\} & \{25,52\} & \{26,56\} & \{27,61\} & \{28,65\} & \{29,70\} & \{30,75\} \\
 \{31,80\} & \{32,85\} & \{33,91\} & \{34,96\} & \{35,102\} & \{36,108\} & \{37,114\} \\
 \{38,120\} & \{39,127\} & \{40,133\} & \{41,140\} & \{42,147\} & \{43,154\} & \{44,161\} \\
 \{45,169\} & \{46,176\} & \{47,184\} & \{48,192\} & \{49,200\} & \{50,208\} & \{51,217\} \\
 \{52,225\} & \{53,234\} & \{54,243\} & \{55,252\} & \{56,261\} & \{57,271\} & \{58,280\} \\
 \{59,290\} & \{60,300\} & \{61,310\} & \{62,320\} & \{63,331\} & \{64,341\} & \{65,352\} \\
 \{66,363\} & \{67,374\} & \{68,385\} & \{69,397\} & \{70,408\} & \{71,420\} & \{72,432\} \\
 \{73,444\} & \{74,456\} & \{75,469\} & \{76,481\} & \{77,494\} & \{78,507\} & \{79,520\} \\
 \{80,533\} & \{81,547\} & \{82,560\} & \{83,574\} & \{84,588\} & \{85,602\} & \{86,616\} \\
 \{87,631\} & \{88,645\} & \{89,660\} & \{90,675\} & \{91,690\} & \{92,705\} & \{93,721\} \\
 \{94,736\} & \{95,752\} & \{96,768\} & \{97,784\} & \{98,800\} & \{99,817\} & \{100,833\} \\
 \{101,850\} & \{102,867\} & \{103,884\} & \{104,901\} & \{105,919\} & \{106,936\} & \{107,954\} \\
 \{108,972\} & \{109,990\} & \{110,1008\} & \{111,1027\} & \{112,1045\} & \{113,1064\} & \{114,1083\} \\
 \{115,1102\} & \{116,1121\} & \{117,1141\} & \{118,1160\} & \{119,1180\} & \{120,1200\} & \{121,1220\} \\
 \{122,1240\} & \{123,1261\} & \{124,1281\} & \{125,1302\} & \{126,1323\} & \{127,1344\} & \{128,1365\} \\
 \{129,1387\} & \{130,1408\} & \{131,1430\} & \{132,1452\} & \{133,1474\} & \{134,1496\} & \{135,1519\} \\
 \{136,1541\} & \{137,1564\} & \{138,1587\} & \{139,1610\} & \{140,1633\} & \{141,1657\} & \{142,1680\} \\
 \{143,1704\} & \{144,1728\} & \{145,1752\} & \{146,1776\} & \{147,1801\} & \{148,1825\} & \{149,1850\} \\
 \{150,1875\} & \{151,1900\} & \{152,1925\} & \{153,1951\} & \{154,1976\} & \{155,2002\} & \{156,2028\} \\
 \{157,2054\} & \{158,2080\} & \{159,2107\} & \{160,2133\} & \{161,2160\} & \{162,2187\} & \{163,2214\} \\
 \{164,2241\} & \{165,2269\} & \{166,2296\} & \{167,2324\} & \{168,2352\} & \{169,2380\} & \{170,2408\} \\
 \{171,2437\} & \{172,2465\} & \{173,2494\} & \{174,2523\} & \{175,2552\} & \{176,2581\} & \{177,2611\} \\
 \{178,2640\} & \{179,2670\} & \{180,2700\} & \{181,2730\} & \{182,2760\} & \{183,2791\} & \{184,2821\} \\
 \{185,2852\} & \{186,2883\} & \{187,2914\} & \{188,2945\} & \{189,2977\} & \{190,3008\} & \{191,3040\} \\
 \{192,3072\} & \{193,3104\} & \{194,3136\} & \{195,3169\} & \{196,3201\} & \{197,3234\} & \{198,3267\} \\
 \{199,3300\} & \{200,3333\} & \{201,3367\} & \{202,3400\} & \{203,3434\} & \{204,3468\} & \{205,3502\} \\
 \{206,3536\} & \{207,3571\} & \{208,3605\} & \{209,3640\} & \{210,3675\} & \{211,3710\} & \{212,3745\} \\
 \{213,3781\} & \{214,3816\} & \{215,3852\} & \{216,3888\} & \{217,3924\} & \{218,3960\} & \{219,3997\} \\
 \{220,4033\} & \{221,4070\} & \{222,4107\} & \{223,4144\} & \{224,4181\} & \{225,4219\} & \{226,4256\} \\
 \{227,4294\} & \{228,4332\} & \{229,4370\} & \{230,4408\} & \{231,4447\} & \{232,4485\} & \{233,4524\} \\
 \{234,4563\} & \{235,4602\} & \{236,4641\} & \{237,4681\} & \{238,4720\} & \{239,4760\} & \{240,4800\} \\
 \{241,4840\} & \{242,4880\} & \{243,4921\} & \{244,4961\} & \{245,5002\} & \{246,5043\} & \{247,5084\} \\
 \{248,5125\} & \{249,5167\} & \{250,5208\} & \{251,5250\} & \{252,5292\} & \{253,5334\} & \{254,5376\} \\
 \{255,5419\} & \{256,5461\} & \{257,5504\} & \{258,5547\} & \{259,5590\} & \{260,5633\} & \{261,5677\} \\
 \{262,5720\} & \{263,5764\} & \{264,5808\} & \{265,5852\} & \{266,5896\} & \{267,5941\} & \{268,5985\} \\
 \{269,6030\} & \{270,6075\} & \{271,6120\} & \{272,6165\} & \{273,6211\} & \{274,6256\} & \{275,6302\} \\
 \{276,6348\} & \{277,6394\} & \{278,6440\} & \{279,6487\} & \{280,6533\} & \{281,6580\} & \{282,6627\} \\
 \{283,6674\} & \{284,6721\} & \{285,6769\} & \{286,6816\} & \{287,6864\} & \{288,6912\} & \{289,6960\} \\
 \{290,7008\} & \{291,7057\} & \{292,7105\} & \{293,7154\} & \{294,7203\} & \{295,7252\} & \{296,7301\} \\
 \{297,7351\} & \{298,7400\} & \{299,7450\} & \{300,7500\} & \{301,7550\} & \{302,7600\} & \{303,7651\} \\
 \{304,7701\} & \{305,7752\} & \{306,7803\} & \{307,7854\} & \{308,7905\} & \{309,7957\} & \{310,8008\} \\
 \{311,8060\} & \{312,8112\} & \{313,8164\} & \{314,8216\} & \{315,8269\} & \{316,8321\} & \{317,8374\} \\
 \{318,8427\} & \{319,8480\} & \{320,8533\} & \{321,8587\} & \{322,8640\} & \{323,8694\} & \{324,8748\} \\
 \{325,8802\} & \{326,8856\} & \{327,8911\} & \{328,8965\} & \{329,9020\} & \{330,9075\} & \{331,9130\} \\
 \{332,9185\} & \{333,9241\} & \{334,9296\} & \{335,9352\} & \{336,9408\} & \{337,9464\} & \{338,9520\} \\
 \{339,9577\} & \{340,9633\} & \{341,9690\} & \{342,9747\} & \{343,9804\} & \{344,9861\} & \{345,9919\} \\
 \{346,9976\} & \{347,10034\} & \{348,10092\} & \{349,10150\} & \{350,10208\} & \{351,10267\} & \{352,10325\} \\
 \{353,10384\} & \{354,10443\} & \{355,10502\} & \{356,10561\} & \{357,10621\} & \{358,10680\} & \{359,10740\} \\
 \{360,10800\} & \{361,10860\} & \{362,10920\} & \{363,10981\} & \{364,11041\} & \{365,11102\} & \{366,11163\} \\
 \{367,11224\} & \{368,11285\} & \{369,11347\} & \{370,11408\} & \{371,11470\} & \{372,11532\} & \{373,11594\} \\
 \{374,11656\} & \{375,11719\} & \{376,11781\} & \{377,11844\} & \{378,11907\} & \{379,11970\} & \{380,12033\} \\
 \{381,12097\} & \{382,12160\} & \{383,12224\} & \{384,12288\} & \{385,12352\} & \{386,12416\} & \{387,12481\} \\
 \{388,12545\} & \{389,12610\} & \{390,12675\} & \{391,12740\} & \{392,12805\} & \{393,12871\} & \{394,12936\} \\
 \{395,13002\} & \{396,13068\} & \{397,13134\} & \{398,13200\} & \{399,13267\} & \{400,13333\} & \{401,13400\} \\
 \{402,13467\} & \{403,13534\} & \{404,13601\} & \{405,13669\} & \{406,13736\} & \{407,13804\} & \{408,13872\} \\
 \{409,13940\} & \{410,14008\} & \{411,14077\} & \{412,14145\} & \{413,14214\} & \{414,14283\} & \{415,14352\} \\
 \{416,14421\} & \{417,14491\} & \{418,14560\} & \{419,14630\} & \{420,14700\} & \{421,14770\} & \{422,14840\} \\
 \{423,14911\} & \{424,14981\} & \{425,15052\} & \{426,15123\} & \{427,15194\} & \{428,15265\} & \{429,15337\} \\
 \{430,15408\} & \{431,15480\} & \{432,15552\} & \{433,15624\} & \{434,15696\} & \{435,15769\} & \{436,15841\} \\
 \{437,15914\} & \{438,15987\} & \{439,16060\} & \{440,16133\} & \{441,16207\} & \{442,16280\} & \{443,16354\} \\
 \{444,16428\} & \{445,16502\} & \{446,16576\} & \{447,16651\} & \{448,16725\} & \{449,16800\} & \{450,16875\} \\
 \{451,16950\} & \{452,17025\} & \{453,17101\} & \{454,17176\} & \{455,17252\} & \{456,17328\} & \{457,17404\} \\
 \{458,17480\} & \{459,17557\} & \{460,17633\} & \{461,17710\} & \{462,17787\} & \{463,17864\} & \{464,17941\} \\
 \{465,18019\} & \{466,18096\} & \{467,18174\} & \{468,18252\} & \{469,18330\} & \{470,18408\} & \{471,18487\} \\
 \{472,18565\} & \{473,18644\} & \{474,18723\} & \{475,18802\} & \{476,18881\} & \{477,18961\} & \{478,19040\} \\
 \{479,19120\} & \{480,19200\} & \{481,19280\} & \{482,19360\} & \{483,19441\} & \{484,19521\} & \{485,19602\} \\
 \{486,19683\} & \{487,19764\} & \{488,19845\} & \{489,19927\} & \{490,20008\} & \{491,20090\} & \{492,20172\} \\
 \{493,20254\} & \{494,20336\} & \{495,20419\} & \{496,20501\} & \{497,20584\} & \{498,20667\} & \{499,20750\} \\
 \{500,20833\} & \text{} & \text{} & \text{} & \text{} & \text{} & \text{} \\
\end{array}$

.........................
1 beğenilme 0 beğenilmeme

Haskell calisiyordum bir de haskell cevabi yazayim dedim. 

Lokman Gokce, asagida Integer partitionlarindan bahsetmis. Bunu haskell de kodladim

p k n 
  | k == 0 && n == 0   = 1
  | k <= 0 || n <= 0   = 0
  | otherwise          = p k (n-k) + p (k - 1) (n - 1)

aradigimizDizi = p 3 <$> [3 ..]

take 100 aradigimizDizi

/// Sonuc 
[1,1,2,3,4,5,7,8,10,12,14,16,19,21,24,27,30,33,37,40,44,48,52,56,61,65,70,75,80,85,91,96,102,108,114,120,127,133,140,147,154,161,169,176,184,192,200,208,217,225,234,243,252,261,271,280,290,300,310,320,331,341,352,363,374,385,397,408,420,432,444,456,469,481,494,507,520,533,547,560,574,588,602,616,631,645,660,675,690,705,721,736,752,768,784,800,817,833,850,867]

 

(1.6k puan) tarafından 
20,274 soru
21,803 cevap
73,475 yorum
2,427,818 kullanıcı