タグ付けされた質問 「music」

このタグは、課題が音楽を含むことを示します。たとえば、音楽を入力として取り、音楽を出力として生成し、音符を処理します。

7
グレゴリオ教会の音楽を整理する
年は930年であり、グレゴリオ教会は問題を抱えています。彼らは数千ページの聖歌音楽を持っていますが、問題は実際の組織システムではなく、すべての楽譜が単に山に投げ込まれたことです。 Cartographers 'Guildのユーザーgamerprinterによる画像。 教会はすべての楽譜を整理する必要があるため、中世のソフトウェアエンジニアを雇ってプログラムを作成し、彼らのために整理しました。あなたは雇用されたソフトウェアエンジニアです。しかし、中世の編集プロセスでは、遅い聖書の筆記者のチームによってプログラムが紙に書き込まれます。スクライブのチームがコードをコンパイルするのにかかる時間を短縮するには、プログラムをできるだけ小さくする必要があります。 教会は、聖歌音楽が書かれている音階に基づいて編成されることを望んでいます。教会の聖歌音楽はすべてドリアン音階で書かれています。特定の音楽の音符が与えられると、プログラムはそれが入っているドリアン音階を出力します。ここでは、ドリアン音階とは何かを正確に説明します。すでに知っている場合は、このセクションをスキップできます。 どのメロディにも12の音符があります。ここに順序があります: C C# D D# E F F# G G# A A# B 半音は、(使用して表されるS)の周りにラッピング(Bから半音アップバックCすることであろうように)、右に一歩をインクリメントします。トーン(使用して表現はT)2つの半音です。たとえば、F#からの半音はGです。F#からの半音はG#です。 ドリアンスケールを作成するには、リスト内の任意の音符から始めて、次のパターンで上に移動し、検出した音符をリストします。 T, S, T, T, T, S 例。私はAから始めます。ドリアンスケールのノートは次のようになります。 A B (up a tone) C (up a semitone) D (up a tone) E (up a tone) F# (up a tone) G (up …
19 code-golf  music 

10
運命のメモ-譜表にメモを入れる
ゾンビの黙示録が来て、世界は終わりに近づいています。突然、誰かが現在の時、分、日を取る式を発見し、それを聞いたすべてのゾンビを即座に殺すピアノで演奏するための完璧な音を吐き出します。残念ながら、世界にはピアノ奏者が1人しかいないため、ノートの読み方を忘れていましたが、楽譜の読み方はまだ知っています。もちろん、これは非常に時間に敏感なことなので、コンピューターにそれをさせるのは自然なことです。1 あなたの課題は、などのメモを取り、次のようにG譜表に配置されたメモを高音部記号で出力することです。 ----- ----- | ---|- | --O-- ----- 仕様: -----(5ダッシュ)と空白行の交互の行の譜表を出力する必要があります。-----合計5 秒になります。この譜表の上に音符を重ねる必要があります。 入力により、ノートの場所が指定されます。入力は次のようになります。 オプションのHor L、「high」または「low」を指定 からAまでの文字でG、ピッチを指定します オプションの#またはb、シャープまたはフラットを指定します。 「メモ」は次のように定義されます。 O音符の場所にある譜表の中央に配置された1つ(大文字のO)。(一番上の行はHF(高F)、一番下の行はE(通常のE)です。) 3つ|のs(垂直バー)、ステム。 音符が中央の行(B)または上にある場合、音符の左に1スペース、下に行く(音符の下に1スペース開始)、または 音符が中央線より下にある場合、音符の右側に1スペース、上に行く(音符の上に1スペース開始)。 A #またはb入力で指定されている場合、ノートの左に直接1つのスペース。 メモが高すぎたり低すぎたりする場合は、元帳行を追加する必要があります。これらの行は---(5ではなく幅が3ダッシュのみ)、ノートが元帳行の上または下(上/下元帳行の場合)にある場合にのみ表示されます。 余分なスペースを任意の場所に配置できます。たとえば、文字の保存に役立つ場合は、空白行にスペースを入れるか、元帳行の後にスペースを入れることができます。 以下は、仕様をより簡単に理解するための視覚化で、すべてのノート名が行の横にあります。 HB --- HA HG ----- HF HE ----- HD HC ----- B A ----- G F ----- E D --- C LB --- …

28
逆モジュラスを計算する
タスク: の値を出力します。xここでa mod x = b、2つの値がありますa,b。 仮定 aそして、b常に正の整数になります 常に解決策があるとは限りません x 複数のソリューションが存在する場合は、少なくとも1つを出力します。 解決策がない場合は、何も出力しないか、解決策が存在しないという兆候を出力します。 組み込みが許可されています(他の数学的アプローチほど面白くありません) 出力は常に整数です 例 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

14
数字のペアをギターの音に変換する
ギターのフレットボード図は次のようになります。 0 1 2 3 4 5 6 7 8 9 10 11 12 <- Fret number (0 means it's open) |-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E |-B--C--C#-D--D#-E--F--F#-G--G#-A--A#-B |-G--G#-A--A#-B--C--C#-D--D#-E--F--F#-G |-D--D#-E--F--F#-G--G#-A--A#-B--C--C#-D |-A--A#-B--C--C#-D--D#-E--F--F#-G--G#-A |-E--F--F#-G--G#-A--A#-B--C--C#-D--D#-E ご覧のとおり、開いている最初の文字列(上から)はEです。最初の文字列の最初のフレットはFです。3番目の文字列の4番目のフレットはBです。最初の音は、最初ではなく、ゼロフレットであることに注意してください。 これは、形式上の数字で記述できますstring, fret。文字列には、上から下に1〜6の番号が付けられています。フレットには、左から右に0〜12の番号が付けられています。Eしたがって、最初はです1, 0。他の例: 1, 0 --> E 1, 1 --> F 3, 5 --> C 5, 1 --> A# 6, 6 --> …

25
シンプルなパターン
入力: 選択した入力形式での2つの1桁(それらをm、と呼んでみましょうn)と2つの文字(aとと呼んでみましょうb)。 出力: チュートリアルでは、のふりをしm=2, n=5, a='a', b='b'ます。 出力は、4つの入力から作成された文字列になります。resultvalueでstringを呼び出しましょう""。まず、CONCATENATE aへのresult m回なので、CONCATENATE aへresult 2回。resultに等しくなりましたaa。第二に、CONCATENATE bへのresult m回なので、CONCATENATE bへresult 2回。resultに等しくなりましたaabb。最後に、resultがすでにより長い場合n、resultlengthを持つように切り捨てnます。それ以外の場合は、のm長さの実行aとが長さになるbまで交互に続けます。最後は、長さです。resultnresultaabba5 テストケース: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

4
MIDIトラックを表示する
バックグラウンド MIDIファイルは、WAVまたはMP3オーディオファイルとはまったく異なります。MP3およびWAVファイルには、オーディオの「録音」を表すバイトが含まれています。一方、MIDIファイルには、MIDIイベントに格納された一連のMIDIメッセージがあります。これらのメッセージはトラックに保存され、トラックのコレクションがMIDIシーケンスを構成します。MIDIシーケンスのイベントはシーケンサーによって分析され、そのメッセージをシーケンサーからシンセサイザーの受信機に送信できます。 ほとんどの場合、MIDIイベントに保存されるMIDIメッセージは、特定のノートを演奏するようシンセサイザーに指示するノートオンメッセージ、またはノートの再生を停止するようシンセサイザーに指示するノートオフメッセージです。これらのメッセージには2つのデータバイトが含まれており、1つ目はシンセサイザーにノートのベロシティを通知し(ベロシティーが大きいと音が大きくなります)、2つ目はシンセサイザーに再生するノートを伝えます(つまり、ミドルC)。イベント自体には、メッセージをいつ送信するかをシーケンサーに伝える目的に役立つチックも含まれています。 チャレンジ 課題は、シングルトラックMIDIシーケンスで一連のノートオンおよびノー​​トオフMIDIメッセージを分析し、特定のノートがオンのとき、オフのとき、およびこれらのノートの速度。チャートの垂直軸は音価を表し、以下に説明するようにラベル付けする必要があり、水平軸はMIDIティックで時間を表します(ただし、複雑さと間隔の問題を減らすためにラベルは付けないでください) 入力は、それぞれが一連の整数値を含む4つの個別の配列またはリストです。一連の整数値を持つ4つのサブ配列/サブリストを含む2次元配列またはリスト。またはその他の便利な手段。これは、トラック内のノートオンおよびノー​​トオフメッセージを含むコレクションMIDIイベントを表します。これらの配列の最初の値は、音符、2番目のベロシティ、3番目のノートオンイベントティック、4番目のノートオフイベントティックを指定します。たとえば、次のような4つの配列がある場合: {60, 62, 64, 65, 67} {20, 40, 60, 80, 100} { 0, 4, 8, 12, 16} { 2, 6, 10, 14, 18} 各配列の最初の要素を分析すると、次の2つのイベントが得られます。NoteOnコマンド、note 60(中央C)、およびノー​​ト速度20のメッセージを持つティック0のイベント。ティック2のイベントには、同じノートとベロシティを持つノートオフコマンドを持つメッセージがあります。 ルール チャートは、左側に0から127までの数字(音符の値を表す)、音符の開始時、各音符の長さ(音符のオフティックから音符のオンティックを引いたもの)、および音符のベロシティを表示する必要があります。ノートを表すシンボルは、ベロシティに依存します。 0-15: O 16-31: = 32-47: # 48-63: - 64-79: @ 80-95: + 96-111: 0 112-127: * 次のことを想定できます。 ノートとベロシティの値は、[0、127]の範囲内になります。 …

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

9
これは大規模(または同等)ですか?
サンドボックス メジャースケール(またはイオニアスケール)は、特に西洋音楽で最も一般的に使用される音階の1つです。これは全音階の1つです。多くの音階と同様に、これは7つの音符で構成されています。8つ目の音符は、同じ音符の高いオクターブと呼ばれるように、最初の音を2倍の周波数で複製します。 7つの音符は次のとおりです。 C、D、E、F、G、A、B、C(例の目的で繰り返される) 主な尺度は全音階です。以前の一連の音符をメジャースケール(実際には、スケールCメジャー)とします。メジャースケールの音符間の間隔のシーケンスは次のとおりです。 全体、全体、半分、全体、全体、全体、全体、半分 ここで、「全体」は音全体(図の赤いU字型の曲線)を表し、「半分」は半音(図の赤い破線)を表します。 この場合、C からDまではトーン全体、D からEまではトーン全体、EからFまではハーフトーンなどがあります。 ノート間のトーン距離に影響する2つのコンポーネントがあります。これらは、シャープ記号(♯)とフラット記号(♭)です。 シャープ記号(♯)は、音にハーフトーンを追加します。例。CからDまで、トーン全体が存在すると述べましたが、Cの代わりにC♯を使用すると、C♯からDまではハーフトーンが存在します。 フラットシンボル(♭)はシャープシンボルの反対を行い、ノートからハーフトーンを減算します。例:DからEまで、全体のトーンが存在すると述べましたが、Dの代わりにDbを使用すると、DbからEまではトーンが半分存在します。 デフォルトでは、ノートからノートにを除いて、全体のトーンが存在するE to Fと、B to Cちょうど半分のトーンが存在する場所では。 ハーモニックピッチを使用すると、メジャースケールに相当する音が作成される場合があることに注意してください。この例はC#, D#, E#, F#, G#, A#, B#, C#、E#およびB#が調和しているが、スケールはメジャースケールのシーケンスに従います。 チャレンジ スケールを指定して、メジャースケールまたは同等のスケールの場合は真偽値を出力し、そうでない場合は偽値を出力します。 ルール 許可される標準I / Oメソッド 標準のコードゴルフ規則が適用されます 8番目のメモを考慮する必要はありません。入力が7つのノートのみで構成されると仮定します。 ダブルフラット(♭♭)、ダブルシャープ(♯♯)またはナチュラルサイン(♮)が存在しないと仮定する テストケース C, D, E, F, G, A, B => true C#, D#, E#, F#, G#, …

4
マルコフ連鎖ビートボックスジェネレーター
先日考えたアイデア:定義済みの音のマルコフチェーンに従ってビートを作成します。 誰かがGoogle翻訳とドイツ語を使ってビートボックスを作成したことを覚えています(リンクをたどって、listenを押します)。 そのため、課題は、特定のチェーンからGoogle翻訳へのテキスト入力を作成することです。または、音符を使用して自分で演奏することもできます:)。 拍数の行、名前と確率のマトリックス表現を含む行を読み取るプログラムを作成できます(表現を選択できます)。 これらの3つの引数を使用して関数を作成することもできます。 例えば [入力] 20 pv zk bschk kkkk [[.1, .4, .5, 0.], [.3, .2, .3, .2], [0., .3, .2, .5], [.1, .8, .1, 0.]] [出力]のようなもの: pv zk bschk zk pv bschk zk pv zk bschk kkkk pv bschk zk bschk bschk bschk zk kkkk bschk 開始確率は、各ビートで同じです。 …

5
RTTTLの難読化
RTTTL(Ring Tone Text Transfer Language)は、恐竜が土地を歩き回った夜明けにノキアによって発明された音楽形式です。かなり粗雑な音楽(和音や何もなし)を考慮しており、フォーマットは非常にシンプルであるため、とてもクールだと思います。これを見てください: DejaVu: d=8,o=5,b=200: e, e, c, e, g, 2g4 フォーマットを分析しましょう。先頭の「DejaVu」の部分はタイトルです。これは10文字を超えることはできません。dとoは、デュレーションとオクターブのデフォルト値です。ノートでデュレーションまたはオクターブが指定されていない場合は、これらが使用されます。最後に、bは1分あたりの拍数です。 その後、歌の実際の音符がリストされます。ノートの形式はDPOです。Dはノートの長さ(1、2、4、8、16)、Pはピッチ(A、B、C、D、E、F、G、A#、B#です) 、C#、D#、E#、F#、G#)、およびOはオクターブです(Nokiaの実装では4〜8ですが、他の実装では異なります。チャレンジのために1〜8と言います) 。期間またはオクターブが指定されていない場合、デフォルトが使用されます。さらに、音符の後にドットを付けることができます-これは本質的にデュレーションを1.5倍にします。 ここの例では、デュレーションとオクターブがない2つのEノートがあります。つまり、デフォルトのデュレーションとオクターブ(8、または8分音符とオクターブ5)があり、CはデュレーションとオクターブがないC、EとG.最終ノートは、デュレーションが2(半音)でオクターブが4のGノートです。 フォーマットを確認したので、どのような課題がありますか?この課題は、実際にはRTTTLとあまり関係がありません。あなたの仕事は、「Hello、World!」を出力する難読化されたプログラムを作成することです (正確に)それは、少なくとも5秒の長さの有効なRTTTLソングでもあります。 RTTTLソングをテストするには、このサイトを使用してソングをMIDIファイルに変換し、MIDIプレーヤーで聴くことができます。これは人気コンテストです。幸運を! 編集:必要に応じて、MIDIをRTTTLに変換するためのWebサイトを次に示します。リンク EDIT2:この光沢のある賞金は7日間で勝者(最も投票された投稿)に授与されます。

2
大小二分法
和音のリス​​トが与えられた場合、それらを「メジャー」または「マイナー」としてラベル付けします。 入力 入力は、スペースで区切られた3つのノートで構成されるコードのリストで、1行に1つです。各音符は、大文字の音符名(A- G)とオプションの臨時記号(#またはb)で構成されます。コードは、任意の反転である場合があります(つまり、ノートは任意の順序である場合があります)。 出力 コードがメジャーの場合、「メジャー」を出力します。コードがマイナーの場合、「マイナー」を出力します。コードがメジャーでもマイナーでもない場合は、空白行を出力します。 例 入力 C E G F Ab C C Eb Gb E G B Db F Ab Bb G D D A Gb 出力 Major Minor Minor Major Minor Major テストスクリプト 過去の質問のいくつかと同様に、JoeyとVenteroが元々作成したいくつかのテストスクリプトをもう一度処理して、この質問のテストケースを提供しました。 バッシュ パワーシェル 使用法: ./test [your program and its arguments] 報酬 仕様を満たしていることが確認でき、テストに合格し、明らかにゴルフの試みを行った各エントリは、私から賛成票を受け取ります(そのため、使用方法を回答してください)。2012年10月13日までの最短のソリューションが勝者として受け入れられます。 ちょっとした理論 …
15 code-golf  music 

4
GUIピアノの作成[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 チャレンジ できるだけ少ない文字でGUIキーボードを作成します。 例 これは私のコースの1つの課題であったため、ソースコードを表示できません。ただし、ここに私のキーボードのスクリーンショットがあります。 この例では、キーはタイプでJButtonあり、Midi Synthesizerを使用してサウンドを生成しました(デフォルトのADSRエンベロープ値を使用)。 ルール あなたは許可されている標準の外部ライブラリを使用します。 サウンドで創造的になります。8ビット、シタールなどを使用できます。 簡単にするために、5つのキーがある場合があります。白黒、CからE(キーボードの最初の5つのキー)。 最も重要なことは...あなたの仕事を紹介することです! 注意:使用する言語の選択によっては、これはかなり大きな作業になる場合があります。 これはSE Code Golfに関する私の最初の質問です。不明な点がある場合は、詳細をお問い合わせください。 編集:このチャレンジの期日は9/22/12になります。この日付の後に回答を投稿した場合、私は関係なくそれを調べます(そしておそらくそれを+1します)。
15 code-golf  music 

4
YMCAに滞在するのは楽しいです
「YMCA」は、Village Peopleによる有名なディスコソングで、よく知られたダンスを持っています。曲のコーラスに同期した大文字の「Y」、「M」、「C」、「A」を出力する最短のプログラムを作成します。 通常、標準出力に送信される各行には1文字が入ります。これは主に、C標準ライブラリの出力バッファリングの対象となるプログラムを簡素化するためです(改行を出力すると出力バッファがフラッシュされます)。 音楽と同時に開始されるプログラムは、開始後これらの各時間の0.125秒以内に文字「Y」を出力する必要があります(秒単位。YouTubeに投稿されたミュージックビデオから決定します)。 45.766 49.611 60.889 64.661 109.816 113.591 124.810 128.687 173.830 177.620 188.950 192.724 204.013 207.739 219.057 文字「M」、「C」、および「A」は、各「Y」の後にそれぞれ0.930秒、1.395秒、および1.628秒が続きます。テストのために、これらの相対時間は、先行する「Y」の時間に加算することにより絶対時間に変換されます。 私はテストプログラムとそれに対応するサンプルプログラムをCで書きました。各文字の後に改行が続くと想定しています(ただし、これは競合の規則ではありません)。Linux用に書かれており、Cygwinを使用しないとWindowsで動作しません。テストプログラムを使用して提出物をテストできない場合は、少なくともYouTubeビデオに対して提出物を確認してください。 提出が適切に動作するために特別なコマンドラインオプションを必要とする場合、スコアの計算時にそのコマンドラインオプションがカウントされます。ただし、インタープリターの起動時間は考慮されないため、必要に応じてテストプログラムを変更して対応することができます。 存在するかどうかは疑問ですが、このタスク専用に設計されたプログラミング言語関数またはライブラリの使用は禁止されていると言わざるを得ません。
15 code-golf  music 

11
トランペットの演奏を手伝ってください
トランペットは、通常で登板バルブ付きaerophone機器、ですB♭。プレイヤーが唇を振動させて楽器内の空気を移動させると、音が鳴ります。その振動は、アンブシュアと呼ばれる特定の方法で口を設定することによって取得されます。唇がよりタイトまたはルーズなアンブシュアは、ピッチが異なります。 さらに、トランペットの各バルブは、楽器のピッチも変更します。押されると、バルブが楽器のチューブ内の経路を閉じ、空気が長い経路を流れるようにし、元の音のピッチを下げます。この課題のために、標準のB♭トランペットを考えます。最初のバルブはピッチをフルステップ下げ、2番目はピッチをハーフステップ下げ、3番目はピッチを1段下げ、半歩。 チャレンジ あなたの課題は、2つの入力embouchureとが与えられたときvalvesに、演奏されるノートのピッチを決定するプログラムまたは関数を作成することです。 このチャレンジの目的のために、メモはシーケンスに従います。 B♭, B, C, C♯, D, E♭, E, F, F♯, G, G♯, A. ルール I / Oは、合理的な方法で取得/指定できます。 標準の抜け穴が適用されます。 必要に応じて、bおよびの#代わりに使用することができます。♭♯ の入力はvalves、押し下げられたバルブのリスト(1, 3)またはブールリスト(1, 0, 1)として取得できます。 これはcode-golfなので、各言語で最も短いコードが優先されます。 テストケース: Valves これらのテストケースでは、0が押され、1が押されたことを意味するブールリストとして与えられます。 Embouchure: Valves: Output: B♭ 0 0 0 B♭ B♭ 0 1 0 A B♭ 1 0 1 F C♯ …
14 code-golf  music 

1
カニンガムチェーンのカウント
素数は常に人々を魅了してきました。2300年前、ユークリッドは彼の「要素」に書いた 素数とは、単位だけで測定されるものです。 つまり、素数は1(またはそれ自体で)割り切れるだけです。 人々は常に素数間の関係を探しており、(「面白い」のような)かなり奇妙なものを思いついてきました。 たとえば、Sophie Germainプライムは、プライムpで2*p+1もあるプライムです。 安全素数は素数であるpそのため(p-1)/2正確ソフィー・ジェルマン素数の下位条件である、また、素数です。 これらは、この課題で私たちが探しているものに関連しています。 A カニンガムチェーンタイプの私は最後のものを除くすべての要素がある素数のシリーズです、ソフィー・ジェルマン素数と、最初のものを除くすべての要素がある安全素数。このチェーンの要素の数は、その長さと呼ばれます。 これは、プライムから始めてp計算することを意味しますq=2*p+1。qが素数である場合、長さ2のタイプIの Cunnighamチェーンがあります。次に2*q+1、次の生成された数が合成されるまでテストなどを行います。 タイプIIのカニンガムチェーンは、ほぼ同じ原理に従って構築されますが、唯一の違い2*p-1は各段階で確認することです。 Cunninghamチェーンの長さは1です。つまり、2 * p + 1も2 * p-1も素数ではありません。これらには興味がありません。 カニンガムチェーンの例 2長さ5のタイプIのチェーンを開始します。 2, 5, 11, 23, 47 次に構築される数95は、素数ではありません。 これはまた、以下のことを教えてくれる5、11、23および47タイプのいずれかのチェーンを開始していない私を、それが要素に先行する必要があるため、。 2また、長さ3のタイプIIのチェーンを開始します。 2, 3, 5 次はで9、これは素数ではありません。 11タイプIIを試してみましょう(以前にタイプIから除外しました)。 さて、21次は、素数ではないので、この「チェーン」の長さは1になりますが、このチャレンジではカウントしません。 チャレンジ n入力として数値を指定すると、少なくとも長さ2のタイプIまたはIIのn番目のカニンガムチェーンの開始番号を書き込み/返すプログラムまたは関数を記述し、その後にスペース、それに続くチェーンのタイプ(IまたはII)、その後にコロン、その後にそのタイプのチェーンの長さが続きます。プライムが両方のタイプのチェーン(タイプI およびタイプII)を開始する場合、タイプI のチェーンが最初にカウントされます。 例: 2 I:5 nこれは、以前に開始された任意のタイプのチェーンの一部である可能性があることに留意してください。その場合、そのタイプのチェーンの開始番号と見なされるべきではありません。 これがどのように始まるのか見てみましょう から始め2ます。これは最初の素数であるため、を含む下位の素数で始まるチェーンがないことを確認できます2。 タイプIのチェーン内の次の数は次のようになります2*2+1 == 5。5素数なので、少なくとも長さ2のチェーンが既にあります。 これを最初のチェーンとしてカウントします。タイプIIはどうですか?次の番号はになります2*2-1 …

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