(私は化学者ではありません!私はいくつかの点で間違っているかもしれません、私は高校で学んだことを書いています)
炭素原子には特別な属性があります:他の4つの原子(これは特別ではありません)に結合でき、非常にユニークな長い鎖であっても安定しています。これらはさまざまな方法で連鎖および結合できるため、それらに名前を付けるには何らかの命名規則が必要です。
これは、作成可能な最小の分子です。
CH4
メタンと呼ばれます。1つの炭素と4つの水素原子のみで構成されています。次は:
CH3 - CH3
これはエタンと呼ばれます。2つの炭素と6つの水素原子で構成されています。
次の2つは:
CH3 - CH2 - CH3
CH3 - CH2 - CH2 - CH3
それらはプロパンとブタンです。問題は2つの異なる方法で構築できるため、4つの炭素原子を持つ鎖から始まります。1つは上に示し、もう1つは次のとおりです。
CH3 - CH - CH3
|
CH3
これは明らかに他のものと同じではありません。原子の数と結合は異なります。もちろん、結合を折り畳んで分子を回転させるだけでは、別のものになりません!したがって、この:
CH3 - CH2 - CH2 - CH3
この:
CH3 - CH2
|
CH3 - CH2
同じです(グラフ理論に興味があるなら、2つの分子の間に同型があると言うかもしれません;それらは同じです)。水素原子はこの挑戦に不可欠ではないので、今後は書きません。
有機化学が嫌いで、名前を付ける炭素原子がたくさんあるので、これを行うプログラムを作成することにします。ハードドライブの空き容量があまりないため、プログラムはできるだけ小さくする必要があります。
チャレンジ
複数行のテキストを入力(カーボンチェーン)として取り込み、カーボンチェーンの名前を出力するプログラムを作成します。入力には、スペース、大文字の「c」文字、および「|」のみが含まれます。および「-」はバインディングを表します。入力チェーンにサイクルが含まれることはありません!例:
入力:
C-C-C-C-C-C
| |
C C-C
出力:
4-エチル-2-メチルヘキサン
人間が読める形式であり、本質的に同じである限り、どんな出力も受け入れられます(たとえば、必要に応じて異なるセパレータを使用できます)。
命名規則:
(参照:IUPACルール)
最長の炭素鎖を特定します。このチェーンは、親チェーンと呼ばれます。
すべての置換基(親鎖から付加するグループ)を特定します。
置換基に最小の数を与える末端から親鎖の炭素に番号を付けます。一連の数値を比較する場合、「最も低い」系列は、最初の違いの際に最も小さい数値を含むものです。2つ以上のサイドチェーンが同等の位置にある場合は、名前の最初に来るものに最も小さい番号を割り当てます。
同じ置換基が複数回出現する場合、置換基が出現する各ポイントの位置が示されます。さらに、置換基が発生する回数は、接頭辞(di、tri、tetraなど)で示されます。
2つ以上の異なる置換基がある場合、それらはベース名を使用してアルファベット順にリストされます(プレフィックスは無視します)。アルファベット順に置換基を配置するときに使用される唯一の接頭辞は、イソプロピルまたはイソブチルのようにisoです。プレフィックスsec-およびtert-は、互いに比較する場合を除き、アルファベット順の決定に使用されません。
長さが等しいチェーンが親チェーンとしての選択を競っている場合、選択は次のように順番に行われます。
- サイドチェーンの数が最も多いチェーン。
- 置換基の番号が最小の鎖。
- 最小の側鎖に最大数の炭素原子を有する鎖。
- 分岐が最も少ない側鎖を持つチェーン(葉の数が最も少ないグラフ)。
親チェーンの命名は次のとおりです。
Number of carbons Name
1 methane
2 ethane
3 propane
4 butane
5 pentane
6 hexane
7 heptane
8 octane
9 nonane
10 decane
11 undecane
12 dodecane
12より長いチェーンはないため、これで十分です。サブチェーンについても同じですが、最後に「ane」ではなく「yl」があります。
C
sは奇数列にあり、結合(|
および-
文字)は炭素原子間の長さが1であると仮定できます。
テストケース:
入力:
C-C-C-C
出力:
ブタン
入力:
C-C-C
|
C
出力:
2-メチルプロパン
入力:
C-C-C-C
|
C
|
C-C
出力:
3-メチルヘキサン
入力:
C-C-C-C-C
|
C
|
C
出力:
3-メチルヘキサン
入力:
C
|
C
|
C-C-C-C
|
C-C-C
|
C-C
出力:
3,4-ジメチル-5-エチルヘプタン
編集:間違った例でごめんね。私は良い学生ではありませんでした:(。今すぐ修正する必要があります。
If the same substituent occurs more than once, the location of each point on which the substituent occurs is given. In addition, the number of times the substituent group occurs is indicated by a prefix (di, tri, tetra, etc.).
、最後の例は、3,4-呼び出されるべきではない脱メチル-5- ethylheptane?(私たちはちょうど有機化学を始めている、私は間違っているかもしれない:P)