Answer-Chaining-数値の正の除数


13

この挑戦は公式に終わり、その結果、Wheat Wizardが7つの答えを獲得しました。他の回答は歓迎しますが、このチャレンジの受け入れられた回答にも勝者にも影響しません。


仕事:

x入力として取得した数値のすべての正の除数を出力します。

入力:

x正の除数を計算する必要がある数(10を基数)である単一の数。

出力:

のすべての正の除数x。任意の形式には、許可されている\n,;限り、それは理解できるだとして、セパレータなどと空白。出力は、整数または文字列の配列にすることもできます(例:)[1, 2, 3, 5, 30]。除数をstdout、console、または同等の言語で出力するか、関数から返すことができます。


ルール

  • ユーザーは連続して2回答えることはできません
  • あなたの答えは、最大でも追加または置換、削除することができる15個のため以外に、(カウントされません空白)前の回答から文字を回答2までの「変換」することができます20個の物事を始めるために文字を
  • 既に回答があるプログラミング言語で回答を投稿することはできません。例外はその言語の完全に異なるバージョンです(例:で回答を投稿する場合、で投稿Python 2.7できますが、では投稿できPython 3ませんPython 2.6
  • 標準の抜け穴は許可されていません
  • このチャレンジのために、除数を取得するためにビルトインを使用することは許可されいません
  • 質問のタイトルに回答の番号と言語名を含め、前の回答から変更された文字数を含める必要あります

得点

物事が落ち着いた後、最も提出物を持つユーザーが勝ちます。同点の場合、回答の1つで最も高いスコアを持つユーザーが勝ちます。スコアにも同点がある場合、最も古い提出(最もスコアの高い回答)を持つユーザーが勝者として宣言されます。

注:「落ち着く」<=> 7最後の回答が送信されてから3日が経過しました


例:

Input, Output:

14 => [1, 2, 7, 14]
25 => [1, 5, 25]
65 => [1, 5, 13, 65]
114 => [1, 2, 3, 6, 19, 38, 57, 114]

または、上記の条件を満たす他の同等の出力。


最終ノート:この質問は、最も古い順に回答を並べ替える場合に適しています。Python 2.7では最初の回答を投稿するので、それに応じて2番目の回答を投稿する必要があります。頑張って楽しんでね!


リーダーボード:

このリストは古くなっている可能性があり、自由に編集できます。

1)小麦ウィザード[現在のリーダー🏆] 7つの答え - Pythonの1.605AB1E実際にはデル| M |トンWSF脳・フラックLenguage

2)ライリー:3つの答え - 真剣にCJam2sable

3)ジョナサン・アラン:2つの答え - Pythonの3ゼリー

3) ETHproductions:2つの答え - JAPTPyth

3) Mistah Figgins:2つの答え - Befunge-98脳フラッククラシック

6)ライカー:1つの答え - MATL

6) dzaima:1つの答え - SOGL 0.8.2

6) LegionMammal978:1つの答え - 空白

6)ニック・クリフォード:1つの答え - オーム

6)リン:1つの答え - GolfScript

6) MickyT:1つの答え - Cubix

距離計算機

このスニペットを使用して、2つのエントリ間の距離を計算できます。

function L(s,t){if(s===t)return 0;var S=s.length,T=t.length;if(S*T===0)return S+T;for(var i=0,v0=[],v1=[];i<=T;i++)v0[i]=i;for(i=0;i<S;i++){v1[0]=i+1;for(var j=0;j<T;j++)v1[j+1]=Math.min(v1[j]+1,v0[j+1]+1,v0[j]+(s[i]!=t[j]));for(j=0;j<=T;j++)v0[j]=v1[j]}return v1[T]}
<textarea id=A rows=10></textarea><textarea id=B rows=10></textarea><br>
Distance: <span id=O>0</span> <button onclick="O.innerHTML=L(A.value.replace(/\s/g,''),B.value.replace(/\s/g,''))">Run</button>


15が機能しますが、10が標準です。ただし、ほとんどの場合よりも難しいので、15のままにしておきます。
Rɪᴋᴇʀ

2
気にしないでほしいが、投稿の下部に距離計算スニペットを追加した:
ETHproductions

2
Brainfuckに向けた共同作業は美しい:)
ウォルフラット

6
重要:提出する際にリーダーボードを編集してください。メンテナンスが容易になります。
Mr. Xcoder

2
広く普及している言語からこれまでに作成された最もあいまいなプログラミング言語の1つまで、すばらしい共同作業でPythonからBrain-Flakに人々が答えをもたらすのを見るのは素晴らしいことです。それを実現させたすべての人に感謝します!DjMcMayhemが賞金を与えくれたので、このチャレンジで何が起こるかを見ることに本当に興味があります。
ミスターXcoder

回答:


12

回答20、ブレインフラック、11

この目標に貢献してくれたすべての人に感謝するために時間を割いたいと思います。

  • ライリー、20バイト

  • LegionMammal、15バイト

  • ETHproductions、11バイト

  • リン、1バイト

次のユーザーは、バイトを直接提供することはできませんでしたが、他の方法で助けてくれました。

  • ミスター・フィギンズ

  • DJMcMayhem

  • フェールサム

これを可能にしてくれたみんなに感謝します!

"qd:A(),(;{A\%!},pe#&f!0pv'%QTS|Q@░┼_¥f::+!vUGw
)((({})<>)){((({}[()]<n=int(input({})(<>))><>)<{i=1div=wvhile(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{ifn%i==g00div.append(<{}<>{}<>>i)i=i+1}{}printdiv)}
#R
{}T:.eX╜R;j`;╜0%Y*`M∩\"ILD¹s%_Ï,

オンラインでお試しください!


6
最後に、Brain Flak!この目標の達成を助けてくれたすべての人に感謝します!これまでで最も多くの回答を得たユーザーであり、この課題に費やされたすばらしい仕事と時間に、Wheat Wizardにおめでとうございます!
ミスターXcoder

7

回答3:MATL、距離15

:tGw\~)
%n=int(input())
%i=1
%div=[]
%while (i<=n):
%    if n % i == 0:
%        div.append(i)
%    i+=1
%print(div)

2
MATLを使用%すると、継続が非常に難しくなります。他の人に幸運を祈ります。この挑戦がここで「死ぬ」ことはないことを本当に願っています!
ミスターXcoder

これは組み込みを使用していませんか?
ジョナサンアラン

@JonathanAllanいいえ、間違いではありません。除数の組み込みはZ\です。ここに関連するコードは:tGw\~)(組み込みではなくチャットで書いた)
ジェームズ

確かに、組み込みはありません
ミスターXcoder

1
@JonathanAllan テーブルは少しわかりにくいかもしれません。Z\ではなく\、「除数」です。最後の3つの列の見出しは、(接頭辞を示しXYまたはZ)。\それ自体が最初の列、つまり「mod」です
ルイスメンドー

7

回答7、ジャプト、15

ò f!vU"Gw\((()<>))
n=int(input())
i=1
div=[]
while (i<=n):
    if n % i == 0:
        div.append(i)
    i=i+1
print(div)#Rḍ⁸T”

オンラインでお試しください!

変更#b∫I:b;\?tするò f!vU(10ポイント)と変化させることにより、いくつかのより多くの脳フラックのコードを追加~(()する((()<>))(5点)。私たちが目指しているコードは

((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

説明

ò           Generate the range [0...input].
  f         Filter to only items Z where
   !vU        U.v(Z) returns truthily. (`fvU` would be Z.v(U))
              This returns true if U is divisible by Z, false otherwise.
      "...  The rest of the program is enclosed in this string, which is passed as an extra
            argument to `f`. Fortunately, `f` ignores it.
            Implicit: output result of last expression

6

回答8、05AB1E、14

"'ò f!vUGw\((()<>)){((({'
n=int(input())
i=1
div=[]
while (i<=n):
    if n % i == 0:
        div.append(i)
    i=i+1
print(div)
'#Rḍ⁸T”'".e

オンラインでお試しください!

説明

幸運なことに、05AB1Eには(ある種の)Pythonインタープリターが組み込まれています。この実行を行うためにプッシュします

'ò f!vUGw\((()<>)){((({'
n=int(input())
i=1
div=[]
while (i<=n):
    if n % i == 0:
        div.append(i)
    i=i+1
print(div)
'#Rḍ⁸T”'

スタックの先頭への文字列として。05AB1EはPythonコードのコメントを実際に好まないため、ここではコメントの代わりに文字列リテラルを使用する必要があります。また"、元のコードのを削除する必要があります。これにより、文字列が途中で終了するためです。

文字列がプッシュされると、それを使用.eしてPythonコードとして実行します。

Brain-Flakに向けて働く

Brain-Flakの答えを出すという目標に向けて、5人のキャラクターを追加することができました。私は6を追加することができたはずですが、残念ながらホワイトスペースを忘れていたので、ポイントスコアにはカウントされません。

これまでのところ:

((({})<>)){((({}     ((  )   )       (              <              )           (          )   )
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

6

回答13、ピス、15

f!%QTS|Q"@░┼_¥
f!vUGw((({})<>)){((({}[()]n=int(input({})(<>))i=1div=while((<>)){ifn%i==0div.append(i)i=i+1}printdiv)}#R{}T.eX
╜R;`;╜%Y*`M∩

オンラインでお試しください!

説明

したがって、Pythについてはあまり知りませんが、ソースコードはツリー形式であり、各コマンドは特定の数の引数をその右側に持っていることを知っています。私が書いた除数プログラムのツリーは次のようになります。

     f
    / \
   !   S
   |   |
   %   Q
  / \
 Q   T

Q入力です。f二つの引数をとり、FそしてA、戻る項目TA場合F(T)truthy値を返します。この場合、Fはの論理否定を返す関数でありQ%TASQであり、範囲を作成します[1...Q]。これは、整数のみにフィルタリングの効果があるT[1...Q]Q%T == 0

残りのコードの解析を回避するために、全体が文字列にラップされ|Q"...、論理OR Qと文字列が返されます。以来Q、常にポジティブである、それは常にtruthyますので、常に論理和から返されます。


Brain-Flakに向けて働く

((({})<>)){((({}[()] (({})(<>))      ((             <>                 )   )  {(          )  })}{}
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

...それが今まで発生した場合、脳高射砲の答えを提出します誰が見て本当に好奇心
氏Xcoder

近づいています。私たちは答え20(早くない場合)でそこにいる必要があります
CalculatorFeline

さて、54文字が必要です
...-ETHproductions

まあ、私たちはほぼ半分であり、これは答え8の周りに述べたので、18の周りに終了する必要があります。
CalculatorFeline17年

6

回答16、GolfScript、15

~:
),(;{
\%!},p#&f!0pv'%QTS|Q"@░┼_¥f::+!vUGw((({})<>)){((({}[()]<n=int(input({})(<>))><>)<{i=1div=wvhile(({})){({}<>)){ifn%i==g00div.append(i)i=i+1{}printdiv)}#R{}T:.eX╜R;j`;╜0%Y*`M∩\

オンラインでお試しください!

~:␤),(;{␤\%!},p#サイズ制約に適合する変数名として改行を使用してを追加し、コメントアウトするためにプログラム全体を1行に戻しました。これは距離14でした。その後、{}printdivにBrain-Flak に追加しました。

~:␤                    Read input, store as NL
   ),(;                Range [1, 2... NL]
       {␤\%!},         Filter elements that divide NL
              p#       Print and comment everything else out

Brain-Flakに向けて働く

((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}     <>                 )   )  {(          ) {})}{}
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

6

回答17 CJam、15

qd:A
),(;
{A\%!},p
e#&f!0pv'%QTS|Q"@░┼_¥f::+!vUGw((({})<>)){((({}[()]<n=int(input({})(<>))><>)<{i=1div=wvhile(({})){({}[()])<>}{}}{)){ifn%i==g00div.append(i)i=i+1{}printdiv)}#R{}T:.eX╜R;j`;╜0%Y*`M∩\

オンラインでお試しください!

qd:A     # Get input as decimal and store it in A
),(;     # range [0..A]
{    },  # Filter where
 A\%!    # A mod this value == 0
       p # print 
e#...    # comment

Brain-Flakに向けて取り組む(30行く)

)({}((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{            )   )  {(          ) {})}{}
 (  (( {})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

私たちは実際にはわずか30離れています。代わりにあなたが変換することができ、余分な4文字省略する)({}(((には()({})((2つだけの費用では、これは我々が考えていた正確なプログラムではなく、()かつ({})、この文脈では、両方のノーオペレーションません。
ポストロックガーフハンター

@WheatWizardいいね!私は実際のコードを見ていませんでした、問題の距離チェッカーを実行しました。
ライリー

5

回答4- ゼリー、4

:tGw\~)
%n=int(input())
%i=1
%div=[]
%while (i<=n):
%    if n % i == 0:
%        div.append(i)
%    i+=1
%print(div)Rḍ⁸T

オンラインでお試しください!

関連コード:

Rḍ⁸T

)パーサが懸念している限り(私は信じている)のようにリンク間の区切りとして機能します。

ビルトインはÆD、代わりに、これにより範囲を作成します1入力までのRによる分割可能性をチェックしḍ⁸、で真の1ベースのインデックスのリストを返しますT


5

回答9、空白、15

f!vUGw((({})<>)){((({}n=int(input())i=1div=while(i<=n):ifn%i==0:div.append(i)i=i+1printdiv)}#R{}T”.e<SPACES>

where <SPACES>は次の文字列に置き換えられますT。where Lは0x09、0x0A、およびS 0x20です。

SSSLSLSTLTTTTTSSSLLSSSLSTSSTLSTSSTLTSSTLTSSSLSSSTLTSSSSTSSTLSTSSTLTSTTLTSTLLSLSL
LSSTLSLSTLSTSSSTSTSLTLSSLSLSLLSSSSLLLL

明確にするためにリテラル改行が追加されました。ルールは非空白文字のみを指定していることに注意してください。いいえ、私は自分自身を助けることができませんでした。

Brain-Flakに向けて働く

私は以前何が起こっていたのか見当がつかないので、私たちは今持っています:

((({})<>)){((({}     ((  )   )       (              <              )           (          )   )}{}
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

5

回答18、WSF、15

q   

































































    d:A(),(;{A\%!},pe#&f!0pv'%QTS|Q"@░┼_¥f::+!vUGw)(({})<>)){((({}[()]<n=int(input({})(<>))><>)<{i=1div=wvhile(({})){({}[()])<>}{}}{}<>([{}()]{})><>){ifn%i==g00div.append(i)i=i+1{}printdiv)}#R{}T:.eX╜R;j`;╜0%Y*`M∩\

(これは、文字コードを介して入力と出力を受け取ります)

説明

WSFは、brainfuckの通常の演算子セットの代わりに空白を使用することを除いて、本質的にBrainfuckです。以下は、brainfuckに逆コンパイルされたコードです。

,
[->+>>>>+<<<<<]>

[
[-<+>>>>+<<<]<[->+<]
>>>>>[-<<+>>]<[->+<]<
[>+>->+<[>]>[<+>-]<<[<]>-]
>>[-]+>[<->[-]]
<
[<<<<.>>>>-]<[->+<]<<<
-
]

Brain-Flakへの進展

WSFはホワイトスペースにすぎないため、Brain-Flakコードにさらに15文字を追加できました。これにより、回答から15離れた場所にいるため、気軽に投稿してください。

()({})(({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})>  )  {(          ) {})}{}
()({})(({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

Brain-flakの回答を自分で投稿するつもりはないので、この目標に貢献してくれたすべての人に感謝するために時間をかけると思いました。

  • ライリー、16バイト

  • LegionMammal、15バイト

  • ETHproductions、11バイト

  • リン、1バイト

次のユーザーは、バイトを直接提供することはできませんでしたが、他の方法で助けてくれました。

  • ミスター・フィギンズ

これを可能にしてくれたみんなに感謝します!


5

答え19、2sable、15

"qd:A(),(;{A\%!},pe#&f!0pv'%QTS|Q@░┼_¥f::+!vUGw)(({})<>)){((({}[()]<n=int(input({})(<>))><>)<{i=1div=wvhile(({})){({}[()])<>}{}}{}<>([{}()]{})><>){ifn%i==g00div.append(>>i)i=i+1}{}printdiv)}#R{}T:.eX╜R;j`;╜0%Y*`M∩\"
ILD¹s%_Ï,

オンラインでお試しください!

余分な空白を削除し、以前に存在していたすべてを文字列にラップしてから、次のようにしました。

IL        # Push [1 .. input]
  D       # Duplicate
   ¹s%    # For each element: input % element
      _   # Logical not
       Ï  # Keep the values from [1 .. input] where this is 1
        , # print

5

回答21 キュービックス、15

最終的にこれに収まりました:)ありがたいことに、Brain-Flakの回答が完了した後です。実装するには15個すべてが必要でした。

"qd:A(),(;{A\%!},pe#&f!0pv'%QTS|Q@░┼_¥f::+!vUGw
)(Is{})%?;ONou{((({}[()]<n=int(inpu;<@!-;<>))><>)<{i=1div=wvhile(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{ifn%i==g00div.append(<{}<>{}<>>i)i=i+1}{}printdiv)}
#R
{}T:.eX╜R;j`;╜0%Y*`M∩\"ILD¹s%_Ï,

これは次のキューブにマッピングされます

              " q d : A ( )
              , ( ; { A \ %
              ! } , p e # &
              f ! 0 p v ' %
              Q T S | Q @ ░
              ┼ _ ¥ f : : +
              ! v U G w ) (
I s { } ) % ? ; O N o u { ( ( ( { } [ ( ) ] < n = i n t
( i n p u ; < @ ! - ; < > ) ) > < > ) < { i = 1 d i v =
w v h i l e ( ( { } ) ) { ( { } [ ( ) ] ) < > } { } } {
} < > ( [ { } ( ) ] { } ) > < > ) < > { i f n % i = = g
0 0 d i v . a p p e n d ( < { } < > { } < > > i ) i = i
+ 1 } { } p r i n t d i v ) } # R { } T : . e X ╜ R ; j
` ; ╜ 0 % Y * ` M ∩ \ " I L D ¹ s % _ Ï , . . . . . . .
              . . . . . . .
              . . . . . . .
              . . . . . . .
              . . . . . . .
              . . . . . . .
              . . . . . . .
              . . . . . . .

あなたはそれを試すことができます ここでますでができますが、貼り付ける必要があります。一部のスペシャルがパーマリンクに問題を引き起こしていると思われます。

コードは基本的に2行以上です。重要な部分は次のとおりです。

I s     ) % ? ; O N o u 
        u ; < @ ! - ; 

I s )これは入力を取得し、スタックのトップを交換し(0も同様に機能します)、インクリメントを
% ?取得してmodとテストを実行します。0が続行する場合またはリダイレクトに
; O N oドロップダウンする場合modの結果をドロップし、数値を出力し、その後に改行
uUを下の行に入れます。
以下が実行さ
; - ! @れます。スタックから10を削除し、入力から数値を減算し、
< ; u最初のテストのターゲットをリダイレクトします。スタックの先頭を削除し(modまたは減算結果のいずれか)、uターンバックしてインクリメントします


4

回答6、Python 1.6、15

#b∫I:b;\?t"Gw\~(()
n=int(input())
i=1
div=[]
while (i<=n):
    if n % i == 0:
        div.append(i)
    i=i+1
print(div)#Rḍ⁸T”

%シンボルを削除し、最初の行と最後の行の一部をコメントアウトしました。これだけでも、15ポイントのうち10ポイントかかりました。ただし、まだ完了していません。Python 1にはないので、3ポイントを追加し+=て置き換える必要i+=1がありi=i+1ました。残り2個だったので((、最初にも追加しました。後でBrain-Flakで提出する予定で、括弧が必要です。


1
OPがPythonでやったと言った後でも+1は、明らかにそうではありません
。...-HyperNeutrino

4

回答10、オーム、距離5

@░┼_¥
f!vUGw((({})<>)){((({}n=int(input())i=1div=while(i<=n):ifn%i==0:div.append(i)i=i+1printdiv)}#R{}T”.e<SPACES>

... where <SPACES>は、Whitespace回答からの巨大な文字列に置き換えられます。

少し生意気な答えです。他のすべては、実行されないままの単なるワイヤーです。


ここでBrain-Flakに向けた仕事はありますか?
電卓

@CalculatorFeline怖くない。
ニッククリフォード

残念な。Brainflakに向けて10文字!場合のみ。
電卓

4

回答12、真剣に、15

╩"@░┼_¥
f!vUGw((({})<>)){((({}[()]n=int(input())i=1div=while((<>)){ifn%i==0div.append(i)i=i+1}printdiv)}#R{}T.e"X
╜R;`;╜%Y*`M∩

オンラインでお試しください!

Actually回答との唯一の違いは、Actuallyを使用する関数をマークするためにバックティックを真剣に使用することと、、私たちはただ、それをポップし、廃棄した文字列の中に余分な文字を作ります。


Brain-Flakに向けた取り組み

((({})<>)){((({}[()] ((  )   )       ((             <>                 )   )  {(          )  })}{}
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

+1コンテストをBrain-Flakに一歩近づけます。たった1つの質問:真剣に非常によく似たプログラミング言語を知っていますか?
ミスターXcoder

実際以外。
ミスターXcoder

@ Mr.Xcoder使用したことはありません。実際にはバージョン2.0
ライリー

4

回答14、Del | m | t、15

                                                f!%QTS|Q"@░┼_¥f!vUGw((({})<>)){((({}[()]<n=int(input({})(<>))><>)<{i=1div=while(({})){({}<>)){ifn%i==0div.append(i)i=i+1}printdiv)}#R{}T.eX╜R;`;╜%Y*`M∩

オンラインでお試しください!

説明

ここでは、空白は違いにカウントされないという事実を本当に悪用し始めています。Del | m | tは、あなたがどんな文字を使うかをあまり気にしません。そのため、コードの大部分は、プログラムの先頭にあるスペースとキャリッジリターンのシーケンスです。コードの実際に見える部分はまったく実行されません。

以下は、より「合理的な」方法に転写されたコードです。

O R ^ V O @ A K T A J O @ A K U N R O @ B K U @ A K T Q ^ X @ B K T R ^ P O @ A K T K R ^ _ @ ^ @

オンラインでお試しください!

低レベルでの仕組み

開始するには O R ^ V これは最初のループで入力を取得するのに役立ち、それ以外の場合は何もしません。

その後O、後で使用するために入力のコピーを作成します。

@ A K Tメモリー位置-1(プログラムの先頭では0)に格納されている変数をA J呼び出して、インクリメントします。 O @ A K U次のループに備えて、現在インクリメントされた値をメモリ位置-1に戻します。

N しばらく前に作成した入力のコピーのmodとメモリから呼び出された値を計算し、 Rそれ無効にします。

一緒 N R、入力がTOSで割り切れるかどうかを示すブール値を作成します。

このブール値のコピーを使用してメモリ空間-2に保存し、メモリ空間-2を使用O @ B K Uして値を呼び出します@ A K T

上の2つの要素を入れ替えQて、ブール値が上になるようにし、を使用してブール値がtrueの場合に値を出力します^ X

ブール値がfalseであった場合、削除する必要がある追加の値があるため、space -2に格納されたブール値を呼び出して、@ B K Tfalseの場合は値をポップしますR ^ P

で入力値を複製し、Oでメモリ-1の値を減算します@ A K T K。これがゼロの場合、終了しR ^ _ます。

最後に@ ^、次の値が何であれスキップします。ジャンクがたくさんあるのでこれが必要です(実際には@は、コードの可視部分によって生成されシンボル)があるためです。

最後に到達すると、最初にループバックします。

高レベルでの仕組み

基本的な考え方は、ループするたびに増加する値が主にメモリ位置-1に保存されるということです。その値が入力を分割する場合、それを出力し、2つが等しい場合、実行を終了します。

Brain-Flakへの進展

空白は違いにカウントされないため、15ポイントを費やすことなくコードを変更することができ、それらすべてがBrain-Flakコードに投資されました。

現在の状況は次のとおりです。

((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}     <>                 )   )  {(          )  })}{}
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

回答を送信するたびにリーダーボードを更新してください。
ミスターXcoder

Brain-Flakの回答には39文字しか残っていません!:)つまり、少なくとも3つの回答が必要です
...-HyperNeutrino

4

回答15、Befunge-98、15

&f!0pv
'         %QTS|Q" @ ░┼_¥f
:
:      
+      
!         vUGw(((   {})<>)){((({}[()
]    <    n=int(i   nput({})(<>))><>)
<      {i=1di     v
  =
w    v  
       hile(({      })){({}<>)){ifn%i==
g
0
0    div.app   en   d(i)i=i+1}printdiv)}#R{}T
:      
.    eX╜R;
j      
`      ;╜
0      
%  Y*`M∩
\

オンラインでお試しください!

(おそらく不必要な空白がたくさんありますが、私は今それを気にすることはできません)

Befungeプログラムには15個すべてを使用したため、今回はBrain-flakに変更はありません。

私の主な戦略は、IPを垂直に送信し、空白を使用して既存のコードから特定の文字を実行することでした。

説明:

Befungeプログラムにとって重要なコードは次のとおりです。

&f!0pv
'                 @
:
:
+
!
]    <
<                 v
w    v
g
0
0    d
:
.    e
j
`
0
%    `
\

次と同等です:

&f!0pv   Gets input, and stores it at (0, 0) (where the & is)
         The v goes down, hits the < and ], which turns the IP up along the first line

!+::'&   There is a 0 at the bottom of the stack, so ! changes it to a 1 and + increments
         :: duplicates twice, and '& gets the input value

\%       swaps the input and iterator mods them
  0`j.   Checks if input mod iterator is 0 - if it is, print iterator

:00gw    gets the input again, and compares it to the iterator.
         If they are different, the IP travels right to the v
         Otherwise, it continues straight, and hits arrows leading to the end (@)

de`      pushes 0, to be used in the increment line

3

回答2 - Pythonの3、5

n=int(input())
i=1
div=[]
while (i<=n):
    if n % i == 0:
        div.append(i)
    i+=1
print(div)

オンラインでお試しください!


これで、Pythonで回答リストを閉じました。良い!
ミスターXcoder

@ Mr.Xcoder誰かがPython 3.5を使用しており、asyncまたはawait組み込みを使用している場合はどうなりますか?それは完全に異なる言語としてカウントされますか?
ハイパーニュートリノ

3

回答5 - SOGL 0.8.2、9

b∫I:b;\?t"Gw\~)
%n=int(input())
%i=1
%div=[]
%while (i<=n):
%    if n % i == 0:
%        div.append(i)
%    i+=1
%print(div)Rḍ⁸T”

説明:

b∫              repeat input times                [0]
  I             increment (the loop is 0-based)   [1]
   :b           duplicate                         [1, 1]
     ;          put the input one under the stack [1, 114, 1]
      \?        if divides                        [1, 1]
        t        output                           [1, 1]
         "...”   push that long string            [1, 1, "Gw\~...Rḍ⁸T"]

注:現在、インタープリターは入力としてカウントしない\nようにsを置き換える必要がありますが、パーサー自体は両方を交換可能と見なします。


3

回答11、実際には、15

╩@░┼_¥
f!vUGw((({})<>)){((({}]n=int(input())i=1div=while(i<=n):ifn%i==0:div.append(i)i=i+1printdiv)}#R{}T”.e
╜R;⌠;╜%Y*⌡M∩

オンラインでお試しください!

説明

実際には、÷数値の因子を見つけるための素晴らしいビルトインがありますが、そのようなビルトインの使用は許可されていません。

入力をレジスタに保存することから始めて、これから起こることによって無害になるようにします。私はこれを使用してこれを行いますが、使用可能な他のコマンドのいずれかを簡単に使用できます。

次に、すでに持っているコードを貼り付けます(作業するのが面倒だったため、すべての空白を削除しました。「空白はカウントしない」ため、これを行うことができます)。幸いなことに、これはスタックが空のときに何もしません。

その後、プログラムの残りの部分があります

╜   Pull our input from the register
R   Create the range of n
;   Duplicate the range
⌠   Declare a function
 ;  Duplicate n
 ╜  Pull from register
 %  Mod
 Y  Logical not
 *  Multiply by n
⌡   End Function
M   Map the function across the range
∩   Remove the zeros with a Intersection

Brain-Flakに向けた取り組み

すべての仕事と私は1つの余分なカッコを入れることができました。

((({})<>)){((({}   ] ((  )   )       (              <              )           (          )   )}{}
((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>([{}()]{})><>)<>{(<{}<>{}<>>)}{})}{}

Brain-Flakコードを囲む場合、[]その後にBrainfcukコードを含めることができます。可能性を開くかもしれません。
電卓

@CalculatorFeline私たちはそうは思わない。Brain-Flak自体は、brainfuckではほとんど何もしません。Brainfuckで投稿するのは非常に難しいでしょうが、Brain-Flakがそれを害することはないと思います。
ポストロックガーフハンター

まあ、この段階でBrainfuckの計画を立てるのは良い考えです。Flakに送れないバイトは、他の計画(BF、Syms、または従来の言語など)に配置できます。
電卓

@CalculatorFeline問題は、Brain-Flakに送れないバイトのようなものはほとんどないということです。言語に括弧に関するかなり奇妙なルールがない場合(この場合、おそらく既に使用できない可能性があります)、余分なバイトを使用して括弧を挿入できます。
ポストロックガーフハンター

コードが配列の前に余分な0を出力するのはなぜですか?
ミスターXcoder

3

23、Brain-Flak Classic、13

"qd:A(),(;{A\%!},pe#&f!0pv'%QTS|Q@░┼_¥f::+!vUGw)(Is(({})<>))%?;ONou{((({}[]<n=int(inpu;({})(@!-;<>))><>)<{i=1div=wvhile(({})){({}[])<>}{}}{}<>({<({}[])>[]}[]{}{})><>)<>{ifn%i==g00div.append(<{}<>{}<>>i)i=i+1}{}printdiv)}#R{}T:.eX╜R;j`;╜0%Y*`M∩\"ILD¹s%_Ï,

元々、 @ Wheat Wizardは回答22にあったようにbrain-flak-classicコードを投稿していました。

()({})((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>({<({}[]{})           ><>)<>{(<{}<>{}<>>)}{})}{}
()({})((({})<>)){((({}[  ]<(({})(<>))><>)<{(({})){({}[  ])<>}{}}{}<>({<({}[]  )>[]}[]{}{})><>)<>{(<{}<>{}<>>)}{})}{}

これは17文字オフです。ただし、単に移動することでこれを圧縮することができました{})提案されたコードのさらに右を

()({})((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>({<({}[]         {})><>)<>{(<{}<>{}<>>)}{})}{}
()({})((({})<>)){((({}[  ]<(({})(<>))><>)<{(({})){({}[  ])<>}{}}{}<>({<({}[])>[]}[]{}{})><>)<>{(<{}<>{}<>>)}{})}{}

わずか13文字オフです!したがって、提案されたコードを取得するためにブラケットを追加/削除するだけでした。


私が投稿した元のコードにはタイプミスがありましたが、現在修正されています。(ありがとう@WheatWizard!



1

22、 言語、15

Lenguageは、プログラムがコンテンツの長さではない時間だけを気にするエソランです。したがって、最後のプログラムに適切な量の空白を埋め込むことで、必要な言語プログラムを作成できます。LenguageはBrainfuckにコンパイルされているので、少し前に書いたBrainfuckプログラムを再利用します

,[->+>>>>+<<<<<]>[[-<+>>>>+<<<]<[->+<]>>>>>[-<<+>>]<[->+<]<[>+>->+<[>]>[<+>-]<<[<]>-]>>[-]+>[<->[-]]<[<<<<.>>>>-]<[->+<]<<<-]

後の回答を容易にするためにメインプログラムにいくつかの変更を加えましたが、最終結果は次のようになります。

<SPACES>"qd:A(),(;{A\%!},pe#&f!0pv'%QTS|Q@░┼_¥f::+!vUGw)(Is(({})<>))%?;ONou{((({}[()]<n=int(inpu;({})(@!-;<>))><>)<{i=1div=wvhile(({})){({}[()])<>}{}}{}<>({<[{}[]{})><>)<>{ifn%i==g00div.append(<{}<>{}<>>i)i=i+1}{}printdiv)}#R{}T:.eX╜R;j`;╜0%Y*`M∩\"ILD¹s%_Ï,

どこを<SPACES>表し55501429195173976989402130752788553046280971902194531020486729504671367937656404963353269263683332162717880399306を空白文字を。

空白はルールをカウントしないので悪用していますか?おそらく。

Brain-Flak Classicに向けて働きます

私たちはすでにそれらの括弧をすべてそこに持っていたので、私はBrain-Flak Classicに向かう途中で私たちを始めると思いました。

()({})((({})<>)){((({}[()]<(({})(<>))><>)<{(({})){({}[()])<>}{}}{}<>({<({}[]         {})><>)<>{(<{}<>{}<>>)}{})}{}
()({})((({})<>)){((({}[  ]<(({})(<>))><>)<{(({})){({}[  ])<>}{}}{}<>({<({}[])>[]}[]{}{})><>)<>{(<{}<>{}<>>)}{})}{}

別のターゲット...それは狂気です。私はそれが好きです!
ミスターXcoder

Brain-flak Classicの一番上の列が私たちの持っているものであり、一番下の列が必要なものですか?
MildlyMilquetoast


1
多田!Brain-Flak Classicが近づいているのは、いくつかの括弧を移動したからです
-MildlyMilquetoast
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.