円の周りのn個の点を直線で結ぶことにより得られる領域の最大数


8

円の周りのn個の点を直線で結ぶことによって得られる軸の数の領域としてf(n)を定義しましょう。たとえば、次のように2つのポイントで円を2つに分割し、3つを4つに分割します。 ここに画像の説明を入力してください

線を描くときは、2つ以上の線の交点がないことを確認してください。

あなたのタスク

数値nを指定してf(n)を出力します。

テストケース:

 n | f(n)   
---+-----
 1 |   1
 2 |   2
 3 |   4
 4 |   8
 5 |  16
 6 |  31
 7 |  57
 8 |  99
 9 | 163

あなたはここでもっと見ることができます

組み込みシーケンスジェネレーターの使用は許可されていません。

これは なので、バイト数が最も少ないコードが優先されます。

数式が必要な場合は、次のとおりです。

回答:



4

JavaScript(ES6)、29バイト

n=>(((n-6)*n+23)*n/6-3)*n/4+1

OEISで指定された式を使用します。


4

ゼリー、6バイト

5Ḷc@’S

オンラインでお試しください!| テストケースを確認する

説明

OEIS式を使用し((n-1)C4 + (n-1)C3 + ... + (n-1)C0)ます。

5Ḷc@’S    Main link.  Args: n

5         Yield 5.
 Ḷ        Lowered range: yield [0,1,2,3,4].
    ’     Yield n-1.
   @      Swap operands of the preceding dyad, 'c'.
  c       Combinations: yield [(n-1)C0, (n-1)C1, (n-1)C2, (n-1)C3, (n-1)C4].
     S    Sum: return (n-1)C0 + (n-1)C1 + (n-1)C2 + (n-1)C3 + (n-1)C4.

PPCGへようこそ。素晴らしい最初の回答です。
mbomb007





3

R、25バイト

sum(choose(scan(),0:2*2))

scan()とともにn渡されるstdinから入力を受け取ります。この後者の項は、(つまり)2を掛けたものです。以来、この計算は、ベクトル化され、、、、リストでそれらを返します。最後に、驚くべきことに、これらの数値の合計を返します。choose0:2*202[0, 1, 2][0, 2, 4]choosen choose 0n choose 2n choose 4sum

これ以上ゴルフをすることはできないと思いますが、間違いだと証明されてとても嬉しいです!


1
同じソリューションを提出してから2秒でした。
Billywob


2

J、9バイト

+4&!+2!<:

式を使用しC(n-1, 2) + C(n, 4) + n = C(n, 0) + C(n, 2) + C(n, 4)ます。

使用法

   f =: +4&!+2!<:
   (,.f"0) >: i. 10
 1   1
 2   2
 3   4
 4   8
 5  16
 6  31
 7  57
 8  99
 9 163
10 256
   f 20
5036

説明

+4&!+2!<:  Input: integer n
       <:  Decrement n
     2     The constant 2
      !    Binomial coefficient C(n-1, 2)
 4&!       Binomial coefficient C(n, 4)
    +      Add them
+          Add that to n and return




0

オクターブ、27バイト

@(m)binocdf(4,m-1,.5)*2^m/2

これは無名関数です。

イデオネで試してみてください

説明

これは、OEISの式am)= Cm −1、4)+ Cm −1、3)+ ... + C(m −1、0)に基づいています。Cは二項係数です。二項分布関数

ここに画像の説明を入力してください

以下のためにK = 4、N = M -1、P = 1/2 2が得られるM -1メートル)。


@Oliver分布関数ではないので、おそらく長くなるでしょう。確率(質量)関数と合計が必要です。何かのようなもの@(m)sum(binopdf(0:2:4,m,.5)*2^m)
Luis Mendo

0

TI-89ベーシック、57バイト

:Def a(a)=Func
:Return nCr(n,0)+nCr(n,2)+nCr(n,4)
:End Func

昔に振り返る。


1
わかりませんが)、最後に削除できませんnCrか?
Oliver Ni

@オリバーこんにちは「わからない」、私もわからない。(慣用主義は素晴らしい映画です)。
Magic Octopus Urn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.