タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

14
Dottie番号の概算
Dottie番号は余弦関数の固定点である、または方程式の解(X)= X COS。1 あなたの仕事は、この定数に近いコードを作成することです。コードは、整数を入力として受け取り、実数を出力する関数を表す必要があります。入力が増加するときの関数の制限は、ドットの数でなければなりません。 数値の分数、小数、または代数表現として出力できます。出力は任意に正確である必要があり、floatとdoubleはこの課題には不十分です。ご使用の言語が任意の精度の数値に対応していない場合、それらを実装するか、新しい言語を選択する必要があります。 これはコードゴルフの質問なので、回答はバイト単位で記録され、バイト数は少ない方が良いでしょう。 チップ 定数を計算する1つの方法は、任意の数を取り、それに余弦を繰り返し適用することです。アプリケーションの数は無限に向かう傾向があるため、結果はコサインの固定点に向かう傾向があります。 これはかなり正確な数値の近似値です。 0.739085133215161 1:ここでは、ラジアン単位のコサインを取ります

3
道路はいくつの方法で川を渡れますか?
まっすぐな川と、橋をn回川を渡る道路を想像してください。道路はそれ自体でループせず、無限に長くなります。この道路は、曲がりくねった道と見なされます。オープン蛇行は、それ自体と交差しないと線と交差する両端に無限に延び開曲線であるN回。 有効な蛇行は、それが訪れる交差点の順序によって完全に記述される場合があります。 蛇行する可能性があるn 個の交差点を持つ交差点の明確なパターンの数は、n番目の平均数です。たとえば、n = 4 このシーケンスの最初の数は次のとおりです。 1, 1, 1, 2, 3, 8, 14, 42, 81, 262, 538, 1828, 3926, 13820, 30694, 110954... これは、OEISシーケンスA005316です。 チャレンジ 入力として正の整数nを取り、n番目の平均値を出力するプログラム/関数を作成します。 仕様書 標準のI / Oルールが適用されます。 標準的な抜け穴は禁止されています。 ソリューションには0インデックスまたは1インデックスのいずれかを指定できますが、どちらを指定してください。 この課題は、すべての言語で最短のアプローチを見つけることではなく、各言語で最短のアプローチを見つけることです。 あなたのコードがされるバイト数で得点特に指定がない限り、通常はエンコーディングUTF-8で、。 このシーケンスを計算する組み込み関数は許可されますが、組み込みに依存しないソリューションを含めることをお勧めします。 「実用的な」言語であっても説明が奨励されます。 テストケース これらは0インデックスです。言語がデフォルトでできない場合、これほど大きな数字を処理する必要はないことに注意してください。 Input Output 1 1 2 1 11 1828 14 30694 21 73424650 …

1
Pythonのリストの最も一般的な要素
これはPythonでのゴルフのヒントの質問です。これはmainのトピックです。 Pythonのリストの最も一般的な要素をすべて、可能な限り最短で取得するための最短の方法を探しています。リストがと呼ばれる変数にあると仮定して、私が試したものは次のとおりですl: from statistics import* mode(l) 複数のモードがある場合、これはエラーをスローします。 max(l,key=l.count) これは1つのアイテムのみを返します。最大数のすべての要素を取得する必要があります。 from collections import* Counter(l).most_common() これは、(element, count)カウントでソートされたのタプルのリストを返します。これから、対応するカウントが最初のものと等しいすべての要素を引き出すことができましたが、これよりもはるかに良いゴルフをする方法は見当たりません: from collections import* c=Counter(l).most_common() [s for s,i in c if i==c[0][1]] もっと短い方法があると確信しています! また、変数の割り当てやの複数の使用をせずに実行できる場合lは、コードの残りをラムダ式として保持し、より多くのバイトを節約できます。 編集:@Urielの提案に従って、次のことができます。 {s for s in l if l.count(s)==l.count(max(l,key=l.count))} そしてlist.count、数バイトのエイリアスを作成できます。 c=l.count;{s for s in l if c(s)==c(max(l,key=c))} @Urielは、次のようにしてさらに2バイトを取得できることを指摘しましたmap。 c=l.count;{s for s in l …
13 code-golf  tips  python 

16
城の階段を作ってください!
印刷可能なASCII(改行なし)で構成される文字列が与えられます。あなたの仕事は、私の城に素敵な階段を作ることです。 素敵な階段を構築するには? まず、文字列のすべての回転を取得する必要があります。たとえば、文字列abcdには次の回転があります:(abcd, bcda, cdab, dabc各文字は最後の文字に達するまで最後に移動します)。 各回転を互いの上に配置します。 abcd bcda cdab dabc 真っ直ぐな壁には登れないので、階段を作らなければなりません。つまり、ローテーションリストのインデックスに対応する各ローテーションの前にいくつかのスペースを追加する必要があります。 abcd bcda cdab dabc また、私の城の反対側にリンクする階段が必要なので、以下のような階段を作成し、各回転を反転させて間隔を追加する必要があります。 abcd dcba bcda adcb cdab badc dabccbad これはcode-golfであるため、バイト単位の最短コードが優先され、タグの標準ルールが適用されます。 テストケース 入力:abcd、出力: abcd dcba bcda adcb cdab badc dabccbad 入力:aaaa、出力: aaaa aaaa aaaa aaaa aaaa aaaa aaaaaaaa 入力:Code golf、出力(スペースに注意してください): Code golf flog edoC ode golfC …

2
これらの三つ編みは等しいですか?
組紐理論に慣れていない場合は、まずこれを読むことをお勧めします。この質問は、少なくとも手元の概念に精通していること、およびグループ理論に精通していることを前提としています。 私たちは定義できσ nはここで編組あるとN番目のオーバートップ交雑からストランド(インデックス付きつ)+ 1からn番目の鎖、及びσ N -の逆であるとσ Nすなわち(N + 1番目ストランドはn番目のストランドと交差します)。 編組グループB N次いでによって生成された<σ 1、σ 2、σ 3、。。。、σn -1 >。したがって、B nのすべてのブレードは、σ ブレードの積として書くことができます。1 グループの2つのブレードが等しいかどうかを判断するのは簡単な作業ではありません。そのかなり明白であってもよいσ 1 σ 3 =σ 3 σ 1は、それが少し明らかである例えばσ 2 σ 1 σ 2 =σ 1 σ 2 σ 1。2 したがって、質問は「2つのブレードが同じであるかどうかをどのように判断できますか?」です。さて、上記の2つの例はそれぞれこれを少し表しています。一般に、Artinの関係と呼ばれる以下の関係は真です。 σ I σ J =σ jを σ I ; i-j> 1 σ …

2
周期文字列、隠しプログラム
次のタスクを実行する3つのプログラムを作成します。 これら3つのプログラムのソースコードをA、B、Cとしましょう。 AがBCを出力として生成する場合、 BがCAを実行している場合、 CがABを実行する場合。 そのため、各プログラムは文字列(各プログラムで循環)を書き込み、それ自体を隠します。 追加ですが必須の制約: 標準的な抜け穴は禁止されています。 各プログラムは少なくとも1バイトの長さが必要です。 3つのプログラムはそれぞれ異なる言語で作成する必要があります。 あなたの提出物がこの形式を持っているといいでしょう: 言語A(Aのサイズ)-言語B(Bのサイズ)-言語C(Cのサイズ)-スコア A B C <extra stuff> 勝者は、3つのプログラムのサイズの合計である最小スコアを獲得した人です。
13 code-golf  quine 

9
シーザーズシフト
説明 シーザーシフトは非常に単純な単一アルファベット暗号で、アルファベットの各文字がその後の文字に置き換えられます。例: Hello world! -> IFMMP XPSME! (IBSLR, EGUFV!実際のチャレンジの出力です。これは1シフトした例です。) ご覧のとおり、間隔と句読点は調整されていません。ただし、メッセージの推測を防ぐため、すべての文字は大文字です。文字を戻すことで、メッセージは解読され、便利になりましたが、メッセージの意味を知らないはずの人が解読するのも簡単です。 そこで、高度な形式の暗号を使用して、Caesarを少し支援します:Self-shifting Caesar Shift! チャレンジ あなたの仕事は、暗号化する文字列が与えられると、入力に対応する暗号化された文字列を出力するプログラムまたは関数を書くことです。高度なシーザーシフトは次のように機能します。 1. Compute letter differences of all adjacent letters: 1.1. Letter difference is computed like this: Position of 2nd letter in the alphabet -Position of 1st letter in the alphabet ======================================= Letter difference 1.2. Example input: …

10
トリプルバランス番号
説明 3つの部分に分割され、すべての部分の数字が合計されて同じ数になる場合、少なくとも3桁のトリプルバランスの整数を考慮します。次のように番号を分割します。 abcdefghi - Standard case: the number of digits is divisable through 3: abc def ghi abcdefgh - Number % 3 == 2: The outer groups are both assigned another digit abc de fgh (the inner group will have one digit less than both outer groups) abcdefghij - Number …

4
平方根の数
タスクは次のとおりです。正の整数xと素数を指定すると、などのn > x最小の正の整数を出力yし(y * y) mod n = xます。この質問の重要な部分は、ブルートフォースソリューションを除外する、以下で指定される制限時間です。 そのような値がない場合y、コードは出力されますN。 テストケース (2, 5, N), (3, 5, N), (4, 5, 2), (524291, 1048583, N), (529533, 1048583, N), (534775, 1048583, 436853), (540017, 1048583, 73675), (536870913, 1073741827, 375394238), (542239622, 1073741827, 267746399), (547608331, 1073741827, N), (552977040, 1073741827, 104595351), (1099511627676, 1099511627791, N), (1099511627677, 1099511627791, 269691261521), …

3
見積もりを引用してください!
引用は、「もう一つの一環として、一つの式の繰り返し」です。アメリカ英語では、引用は前の文のように二重引用符( ")で囲まれています。ただし、引用が別の引用内にある場合、この規則は異なります。この場合、内部引用は単一引用符で囲まれます。 ( ')。 チャレンジ 入力として文字列を指定すると、内部引用に使用される二重引用符と単一引用符を交換して、その文字列の割り当て可能なバージョンを出力します。 ただし、キャッチは1つだけです。すべての単一引用符が引用に使用されるわけではありません。このチャレンジでは、次の場合にのみ、単一引用符が引用に使用されます。 マークの前に英数字以外の文字、または マークの後に、スペースではない英数字以外の文字が続きます 引用に使用されるマークは、バランスが取れていることが保証されています。つまり、無効な入力を処理する必要はありません。また、二重引用符は、単一引用符を使用して引用を表すことができる状況でのみ使用されます。 テストケース A man, a plan, a canal, Panama. "A man, a plan, a canal, Panama." Socrates once said, "An unexamined life is not worth living." "Socrates once said, 'An unexamined life is not worth living.'" @musicman523 said, "Socrates once said, …

22
n番目のベル番号を出力する
A ベル番号(OEIS A000110は)N標識された(別個の)要素のセットを分割する方法の数です。0番目のベル番号は1として定義されます。 いくつかの例を見てみましょう(パーティションのサブセットとブレースを示すために括弧を使用します): 1: {1} 2: {[1,2]}, {[1],[2]} 3: {[1,2,3]}, {[1,2],[3]}, {[1,3],[2]}, {[2,3],[1]}, {[1],[2],[3]} ベル番号を計算するには多くの方法があり、自由に使用できます。1つの方法をここで説明します。 ベル数を計算する最も簡単な方法は、二項係数にパスカルの三角形に似た数三角形を使用することです。ベル番号は、三角形の端に表示されます。1から開始して、三角形の各新しい行は、前の行の最後のエントリを最初のエントリとして、左の隣人と左上の隣人にそれぞれの新しいエントリを設定することによって構築されます。 1 1 2 2 3 5 5 7 10 15 15 20 27 37 52 0インデックスまたは1インデックスを使用できます。0インデックスを使用する場合、入力は3output 5である必要がありますが2、1インデックスを使用する場合は出力する必要があります。 プログラムは、15番目のベル番号まで動作し、を出力する必要があり1382958545ます。理論的には、プログラムはより大きな数を処理できる必要があります(つまり、ソリューションをハードコーディングしないでください)。 編集:三角法によって計算されないため、0(0インデックス付けの場合)または1(1インデックス付けの場合)の入力を処理する必要はありません。 テストケース(0インデックス付けを想定): 0 -> 1 (OPTIONAL) 1 -> 1 2 -> 2 3 -> 5 …
13 code-golf  math 

10
私は二次タクシーですか?
バックグラウンド ラマヌジャンの番号1729は、ハーディがこの番号を持っている病院でラマヌジャンを訪問するためにタクシーに乗り込んだという話から、おそらくタクシーの番号と呼ばれます。 それ以来、2つの(正の整数の)n乗の合計として2つの(または「k」)異なる方法で表現できる「タクシー番号」として知られる整数クラスの最も有名なものとして知られています。 1729は、2つの異なる方法で2つの立方体の合計として表現できる最小の自然数で、最初の「3,2」タクシー番号(「n、k」が一般的)になります。 チャレンジ 番号を指定して、それが「3,2」「二次タクシー番号」であるかどうかを決定します-1729(キューブの2つの一意の合計)と同じ制約を満たしますが、「3 、2 "クラス(もちろん1729です)。 例: 1729 = 10 ^ 3 + 9 ^ 3 = 12 ^ 3 + 1 ^ 3 4104 = 15 ^ 3 + 9 ^ 3 = 16 ^ 3 + 2 ^ 3 13832 = 2 ^ 3 + 24 …

18
連続したデジタル製品の合計収束
正の整数を考えるとn(例:n=1234444999) 連続した数字の実行に分けます: [1, 2, 3, 4444, 999] 各実行のデジタル製品を取ります。 [1, 2, 3, 4*4*4*4, 9*9*9] = [1, 2, 3, 256, 729] 合計して... 991 これが単一の数値に収束するまで繰り返します。 1234444999 991 82 10 1 最後の番号を返します。 テストケース BASE CASES: 0 = 0 ... 9 = 9 OTHER CASES: 1234444999 = 1 222222222222222 = 8 111222333444555666777888999000 = 9 11122233344455566677788899 …

16
このサイトはダウンしていますか、それとも私だけですか?
チャレンジ チャレンジは簡単で、http://isup.meを使用して、入力したWebサイトが稼働しているかどうかを判断します。 サイトが稼働している場合は、真の値を返し、サイトが停止している場合は、偽の値を返す必要があります。 ルール 入力は、stackexchange.comやなどのWebアドレスになりますgoogle.co.uk。入力の文字列の先頭になどが含まれることはありませんがhttp://、https://文字列の先頭www.またはcodegolf.先頭には含まれる場合があります。 isup.me/URLURLが入力されているサイトを使用する必要があります。 サイトが立ち上がると、次のようになります。 http://isup.me/codegolf.stackexchange.com サイトがダウンしている場合、次のようになります。 http://isup.me/does.not.exist isup.me以外のURL短縮サービスは許可されていません。 入力例 おそらくアップ(現在の状況に応じて): google.de codegolf.stackexchange.com worldbuilding.meta.stackexchange.com tio.run store.nascar.com isup.me ダウンします: made.up.com fake.com.us why.why.why.delilah store.antarcticrhubarbassociation.an 勝ち バイト単位の最短コードが優先されます。

3
パスワードを読む:モバイルで!
MD XFの最近の挑戦のおかげで、今では多くの異なる言語でパスワードを読むことができます!問題は、アプリケーションをモバイルデバイスに移植する必要があり、パスワードの入力方法が少し異なることです。 チャレンジ キーボードから文字列を読み取ります。 文字kが入力されるたびに、短い時間間隔で表示します。 時間間隔が経過した後、またはユーザーが別の文字を入力した後、k一部の文字に置き換えcます。 ルール c定数でなければなりません。同じ文字でなければなりません。 c 任意の可視文字を使用できます(つまり、改行、スペース、タブ、または印刷不可にすることはできません)。 c入力されたものに基づくことはできませんk。c最初のものkが読み込まれる前に定義/定数されなければなりません。 c プログラムを実行するたびに同じでなければなりません。 ck他のすべての規則が守られている限り、偶然のように指定された値のいずれかです。 kリアルタイムで印刷する必要があります。ユーザーがnew kを入力したらすぐに表示する必要があります。 kに変更される前に、エンドユーザーに表示される必要がありますc。時間間隔は0.5秒以上でなければなりません。 kc妥当な時間内に交換する必要があります。時間間隔は5秒を超えてはなりません。 新しい文字が入力されるとすぐに、時間間隔が終了したかどうかに関係なく、入力したキーを置き換えkてc、kすぐに新しいキーとして使用する必要があります。 キャラクターを変更する必要があるたびに、画面をクリアして再描画することは許容されます。 他のすべての規則に従っている限り、入力および出力の合理的な方法を使用できます。 入力された文字数が端末/グラフィカルウィンドウの幅より長くなることはないと想定できます。 端末を使用している場合、プログラムは改行が入力されるかEOFに達した後に終了するはずです。 プログラムは、モバイル環境と他の環境の両方で、ここで説明されているように機能する必要があります。 プログラムは、入力に印刷可能な文字(文字、数字、記号)のみが含まれ、場合によっては改行(バックスペース、矢印キー、削除など)が含まれないと想定する場合があります。 Ctrl + Cを押すと、プログラムが終了する場合があります。 プログラムが起動した場合、ウィンドウを閉じることでプログラムを終了できます。 得点 これはcode-golfなので、各言語で最短の答えが勝ちます! 例 これは、どのように見えるかの例です。これはモバイルプラットフォームで記録されますが、デスクトッププラットフォームでも機能するはずです。
13 code-golf  string 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.