私は学校でアルカンについてのレッスンを受けたばかりで、おそらくそれが素晴らしいゴルフの挑戦に役立つと考えました!心配しないでください、見た目ほど複雑ではありません!
クイックリハッシュ
(注:この簡潔さを保つために、すべての情報が100%正確であるとは限りません。)
アルカンは炭素と水素のストリングです。すべての炭素原子には4つの結合があり、すべての水素原子には1つの結合があります。アルカンのすべての炭素原子は、各C原子が他の2つのC原子(ルイス構造の左右)と2つのH原子(上下)に接続されているストリングを形成します。 C原子は他の1つのCにのみ接続されていますが、3つのHに接続されています。ペンタン(5個のC原子と12個のH原子を持つアルカン)の基本的な例を次に示します。
H H H H H
| | | | |
H-C-C-C-C-C-H
| | | | |
H H H H H
アルカンは枝を持つこともできます。しかし、心配しないでください。この課題のすべてのアルカンは、1レベルの分岐だけで表現できます。例:
H
|
H-C-H
H H H | H
| | | | |
H-C-C-C-C-C-H
| | | | |
H H H H H
この課題を完了するには、分岐アルカンのIUPAC命名規則も理解する必要があります。まず、ルートアルカンがあります。前の例では、これは「CCCCC」の部分です。このチェーンの長さに応じて、名前は異なります。1 Cはメタン、2 Cエタン、3 Cプロパン、ブタン、ペンタン、ヘキサン、ヘプタン、オクタン、ノナン、デカンと呼ばれます(10 C)。次に、各ブランチには、それに特定の接頭辞があります。最初に、ブランチが追加されるC原子のインデックス(オフセット)があります(左からカウント)。例では、これは4(別名、左から4番目のC原子)になります。次に、ハイフン(この記号: "-")があり、その後にブランチのサイズを示す別の名前があります。ブランチのサイズの命名は、ルートのサイズの命名とほぼ同じですが、「ane」の代わりに「yl」を追加するだけです。それで、例のフルネームは
4-methylpentane
複数のブランチがある場合、それらも別のハイフンで区切られて追加されます。例:
2-butyl-5-methylhexane
最後に、同じサイズのブランチが複数ある場合、グループ化されます。それらのオフセットはコンマで区切られ、同じサイズ名を共有します。グループ化されるブランチの数に応じて、追加の音節が先頭に追加されます。このチャレンジにこれ以上必要はありません)。例:
2-ethyl-2,4,6-trimethyldecane
参考までに、これは次のようになります:(省略されたH原子)
|
-C-
| |
-C- -C-
| | | | | | | | | |
-C-C-C-C-C-C-C-C-C-C-
| | | | | | | | | |
-C- -C-
| |
命名法チートシート
Prefixes indicating numbers:
| Num | Prefix |
|------|--------|
| 1 | meth |
| 2 | eth |
| 3 | prop |
| 4 | but |
| 5 | pent |
| 6 | hex |
| 7 | hept |
| 8 | oct |
| 9 | non |
| 10 | dec |
Suffix root: ane
Suffix branch: yl
Prefixes grouping: di, tri, tetra
ルール
そのようなIUPAC名をSTDIN、プログラム引数、または同等のものから読み取り、ASCIIアートルイス構造としてSTDOUT(または同等物)に描画するプログラムを作成します。
- 簡単にするために、H原子を描画する必要はありません(そうしないと、スペースの問題が発生します)
- 空の先頭または末尾の水平線を印刷することはできません
- 解析する必要があるチェーンは10を超えず、「グループ」内のブランチの最大数は4に制限されます。
- ブランチの最大「オフセット」は9です(1桁以上を解析する必要がないことを意味します)
- ブランチは、新しいブランチごとに上下に交互に移動する必要があります。このスペースが同じオフセットで別のブランチによって既に使用されている場合、ルートの反対側にそれを描画する必要があります。(上->下、下->上)
- 破損した、正しくフォーマットされていない、または描画できない入力では、プログラムは指定されていない動作をする場合があります。
これはコードゴルフで、バイト単位の最短コードが勝ちです!
ハッピーゴルフ!:)
3-3-5-7-methyldodecane
、最長の連続した炭素鎖が12の長さだからです。また、あなたは質問のすべての情報が正確であるとは言いませんでしたが、2番目の分子が最も近い分岐を持つ炭素から始まるためでは2-methylpentane
なく、2番目の分子であることを指摘する価値があると思います4-methylpentane
。
Your branches have to alternate between going up and down after every new branch.
あなたの例はこの規則に違反しています。2.サポートしなければならない最大チェーン長は何ですか(プレフィックスの解析はチャレンジの一部になります。)命名法のリストをリンク(またはできればコピー)する必要があります。
4-methylpropane
言うべき4-methylpentane
ですか?4-<anything>propane
私が何かを完全に誤解していない限り、ありそうにない。