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

化学または化学のいくつかの側面に関連

8
与えられた化合物のミスターを見つけてください!
チャレンジ 化学式が与えられたら、化合物のM rを出力します。 方程式 化合物の各要素の後には、化合物の原子の数を示す数字が続きます。数字がない場合、化合物にはその原子が1つしかありません。 以下に例を示します。 エタノール(C 2 H 6 O)はC2H6O、2つの炭素原子、6つの水素原子、1つの酸素原子がある場所です。 水酸化マグネシウム(MgO 2 H 2)MgO2H2は、1つのマグネシウム原子、2つの酸素原子、2つの水素原子がある場所です。 角括弧を処理する必要は決してなく、各要素は式に一度だけ含まれることに注意してください。 ほとんどの人はおそらく最も快適だと感じる順序に固執するでしょうが、厳密な順序付けシステムはありません。例えば、水のいずれかとして与えられてもよいH2O、またはOH2。 M r 注:ここでは、式質量が分子質量と同じであると仮定します 化合物のM r(分子量)は、分子内の原子の原子量の合計です。 サポートしなければならない唯一の元素とその小数点以下1桁までの原子量(希ガスを含まないカルシウムへの水素)は次のとおりです。こちらにもあります H - 1.0 Li - 6.9 Be - 9.0 B - 10.8 C - 12.0 N - 14.0 O - 16.0 F - 19.0 Na - 23.0 …

7
イオン化合物ゴルフ
チャレンジ 正イオンと負イオンの2つの入力がある場合、2つのイオンから生成されるイオン化合物の式を出力する必要があります。これは基本的に、ゼロに等しくなるように料金を相殺することを意味します。 添え字番号を使用して数式をフォーマットする必要はありませんが、マルチ原子イオン用の括弧(などNO3)が必要です。 エラーを考慮する必要はありません(たとえば、誰かが2つのマイナスイオンを入力した場合、プログラムを失敗させることができます)。 注: Feを3+のチャージにする イオン 説明する必要があるすべてのイオンは、AQA GCSE化学データシートの 2番目の部分に電荷とともに記載されています。 陽イオン H + Na + Ag + K + 李+ NH 4 + Ba 2+ Ca 2+ Cu 2+ Mg 2+ Zn 2+ Pb 2+ Fe 3+ Al 3+ マイナスイオン Cl - Br - F - 私- OH - NO …

1
気違いの化学者と賢いプログラマー
バックストーリー あなたは化学実験室でめまいを起こし、古い気違いの化学者に誘されたことに気づきます。彼は彼の年齢のために非常によく見えないので、彼はあなたに彼のために働きたいと望み、その時だけ、あなたは実験室から逃げることができる。 仕事 入力として化学式が与えられる分子の構造式を返すのはあなたの仕事です。炭素()、酸素()および水素()原子のみが入力として使用されることに注意してください。化学式とは異なり、a は有効な量指定子であり、a は省略できません(たとえば、有効な入力ですが、そうではありません)。COH01C1H4O0CH4 あいまいさを防ぐために、二重結合と三重結合が分子に現れないと仮定します。すべての炭素原子には4つの単結合、すべての酸素原子には2、水素原子には1つの単結合が必要です。また、O-O債券も存在しないと想定しています。分子は存在する必要も安定している必要もありません。 3出力の表示の明るさを確保するために、入力に炭素原子以上が含まれることはありません。 中断することなく、炭素原子が直線に配置されている分子のみを表示する必要があります。エルゴ、C-O-C絆なし。 前のルールで除外されていない可能性のあるすべての分子を返す必要があります。無効な入力を処理する必要はありません。 次の例は、その分子に対して処理する必要があるすべてのソリューションを表示します。 分子の式の1つのページの平面での180度の回転は冗長性と見なされ、表示する必要はありません。 以下の例では、分子に可能なすべての式を示し、表示する必要のない式を指摘します。 例 入力: C2H6O2 まず、この入力に使用できるすべての式を以下に示します(@Jonathan Allanに感謝します) 01 H | O H | | H - O - C - C - H | | H H 02 H | H O | | H - O - C …

4
不飽和度
不飽和度 これは特に難しいコードのパズルではありませんが、それを解決する複数の方法を見てみたいと思います。 不飽和度は、原子間の二重化学結合の数、および/または化合物の環の数です。 XaYbZc(a、b、cは化合物中のX、Y、Zの原子数)の形式で化合物の分子式が与えられます-式は任意の長さで、任意の化学元素を含むことができます周期表では(ただし、C、H、N、F、Cl、Br以外の元素は、式に含まれていないため無視されます)。化合物には、少なくとも1つの炭素原子が含まれます。不飽和度を計算して表示する必要があります。 たとえば、化合物ベンゼン(下図)は、3つの二重結合(原子間の二重線で表示)と単一の環(ループで接続された原子の数)があるため、DoUは4です。 LibreTextsで定義されているとおり: DoU =(2C + 2 + N − X − H)/ 2 どこ: C は炭素原子の数です N は窒素原子の数です X あるハロゲン原子の数(F、Cl、Br、I) H は水素原子の数です テストケース: C6H6 --> 4 C9H2O1 --> 0 C9H9N1O4 --> 6 U1Pt1 --> Not a valid input, no carbon Na2O1 --> Not a valid input, …

7
最長逆パリンドロームDNAサブストリング
ご存知かもしれませんが、DNAには4つの塩基があります—アデニン(A)、シトシン(C)、グアニン(G)およびチミン(T)。通常A、TとC結合しG、と結合して、DNA二重らせん構造の「ラング」を形成します。 塩基の補数を、結合する塩基と定義します。つまり、Ais Tの補数、Tis Aの補数、Cis Gの補数、Gis の補数ですC。また、DNA文字列の補数を、各塩基が補われた文字列、たとえばGATATCis の補数として定義することもできますCTATAG。 DNAの二本鎖構造のため、一方の鎖の塩基はもう一方の鎖の塩基と相補的です。しかし、DNAには方向があり、DNA転写は2本の鎖で反対方向に起こります。そのため、分子生物学者はDNAストリングの逆相補性に興味を持っていることがよくあります。文字列の相補性の逆です。 前の例を拡張するために、の逆の補数GATATCはCTATAG後方GATATCです。お気づきかもしれませんが、この例では、逆の補数は元の文字列と同じです。このような文字列を逆回文と呼びます。* DNAの文字列が与えられた場合、逆パリンドロームである最も長い部分文字列を見つけることができますか? *私は、パリンドロームの通常の意味と区別するために、ロザリンドから取られた「逆パリンドローム」という用語を使用します。 入力 入力はACGT、大文字の文字のみで構成される単一の文字列になります。このチャレンジのために、関数または完全なプログラムを作成できます。 出力 印刷または戻ることで出力することを選択できます(後者の選択は、関数の場合にのみ使用可能です)。 一意の解決策がある場合、プログラムは入力文字列の最長の逆パリンドローム部分文字列を出力する必要があります。複数のソリューションが存在する場合、それらのいずれか1つを出力することも、すべてを選択することもできます(選択)。すべてを出力することを選択した場合、複製は問題ありません。 入力には、少なくとも長さ2の解があることが保証されています。 実施例 ATGGATCCG -> GGATCC の逆補体GGATCCはそれ自体(GGATCC --complement--> CCTAGG --reverse--> GGATCC)でGGATCCあり、逆パリンドロームも同様です。GATC逆パリンドームでもありますが、最長のものではありません。 テストケース AT -> AT CGT -> CG AGCA -> GC GATTACA -> AT, TA ATGGATCCG -> GGATCC CCCCCGGGGG -> CCCCCGGGGG ACATATATAGACT -> ATATAT, TATATA …

11
次数nまでの可変グループのすべての組み合わせを作成する
仕様 与えられたm変数は、次までのすべての組み合わせを作成しますn。例えば、 2つの変数(aおよびb)を順序にマッピングする出力は次の1ようになります。 a b ab 2つの変数(aおよびb)を順序にマッピングする出力は次の2ようになります。 a a 2 b b 2 ab a 2 b ab 2 a 2 b 2 2つの変数(aおよびb)を順序にマッピングする出力は次の3ようになります。 a a 2 a 3 b b 2 b 3 ab a 2 b a 3 b a 3 b 2 ab 2 ab 3 a …

3
「原子」コードゴルフ-同位体の中性子の数を決定する
あなたの仕事は、要素の同位体を含む文字列を入力として受け取り、次の例のようにエンコードされ、原子番号の後にスペースと要素のIUPAC化学記号が続くことです。 162 Dy そして、その同位体の原子に含まれる中性子の数を返します。 上記の例では、ジスプロシウム162には96個の中性子(合計162核子、ジスプロシウムであるため66陽子を引いたもの)があるため、出力はになります96。 与えられた要素は、IUPAC(フレロビウムとUus肝組織を含む)によって現在恒久的な名前が与えられている114の要素の1つであり、「ununseptium」のような一般的な名前ではないと想定するかもしれません。同位体の原子番号が1000を超えないか、元素の陽子の数よりも少ないと仮定することもできます。 要素の陽子または中性子数に関するデータを取得するために組み込みを使用したり、文字列または数値トークンをそれ自体のコードとして評価するコード内の関数を使用したりすることはできません。 どんな言語でもこれを行うために最も少ないトークンを使用するプログラムが勝利します。ただし、この課題では、文字列内のすべての文字、または文字列に変換された変数名がトークンとしてカウントされます。 参照用の要素とその原子番号のリスト: コードスニペットを表示 { "H": 1, "He": 2, "Li": 3, "Be": 4, "B": 5, "C": 6, "N": 7, "O": 8, "F": 9, "Ne": 10, "Na": 11, "Mg": 12, "Al": 13, "Si": 14, "P": 15, "S": 16, "Cl": 17, "Ar": 18, "K": 19, "Ca": …

3
質量分析計を作ろう!
チャレンジ 有機分子の高解像度の分子量を考慮して、分子の分子式を出力します。 説明 入力は、小数点以下3桁の精度の単一の数値、つまり分子の相対分子量になります。 ここで、分子量は、化合物中の原子の質量の合計として定義されます。あなたは有機化合物の分子式を見つけるだけなので、知っておくべき原子質量は次のとおりです。 C、カーボン:12.011 H、水素:1.008 O、酸素:15.999 N、窒素:14.007 フォーミュラは、炭素、水素、酸素または窒素のみを含む必要があります。 式を書くとき、それは次の形式をとるべきです: CaHbOcNd 要素がこの順序でなければならない(ただしC -> H -> O -> N、そうC2O8N4H6でなければならないC2H6O8N4)とa、b、cおよびd分子内の先行する要素の数(すなわち、あるC2分子内に2個の炭素原子が存在することを意味します)。 場合a、b、cまたはdゼロであり、その要素は、(例えば、式中に含まれるべきではないC2H6O2N0でなければなりませんC2H6O2)。最後に、場合a、b、cまたはd一つであり、あなたは式(例えばに番号を含めるべきではありませんC1H4する必要がありますCH4)。 入力は常に有効です(つまり、その質量の分子が存在します)。入力があいまいな場合(複数の分子が同じ質量を持っている場合)、分子の1つのみを出力する必要があります。この分子の選び方はあなた次第です。 実施例 入力が180.156であるとすると、この分子量を持つことができる要素の組み合わせは1つだけです。 12.011*6 + 1.008*12 + 15.999*6 + 14.007*0 = 180.156 だからあります: 6カーボン 12水素 6酸素 0窒素 したがって、出力は次のようになります。 C6H12O6 その他の例 Input -> Output 28.054 -> C2H4 74.079 -> C3H6O2 75.067 …

5
数式を印刷する
前書き 化学には、.xyz拡張子(https://en.wikipedia.org/wiki/XYZ_file_format)のタイプがあり、化学要素と各要素の平面の座標が各行に出力されます。これは、化学者が化合物を理解し、3Dで化合物を視覚化するのに非常に役立ちます。.xyzファイルを指定して、化学式を印刷するのは楽しいと思いました。 チャレンジ .xyzファイルを指定して、任意のプログラミング言語で化合物の化学式を可能な限り少ないバイト数で出力します。注意: もともと、入力はファイルとして与えられるべきでした。私が指摘したように、これは挑戦を制約します。したがって、入力が文字列のリスト/配列であり、それぞれが.xyzファイルの行を表すと想定する場合があります。 要素の順序に制限はありません。 各要素は、要素とその出現回数を区切るアンダースコア「_」で印刷する必要があります .xyzファイルの最初の2行は、要素の数とコメント行です(覚えておいてください)。 入力と出力の例 以下を含むファイルp.xyzがあるとします(最初の行は要素の数、2番目の行はコメントです)。 5 A mystery chemical formula... Ba 0.000 0.000 0.000 Hf 0.5 0.5 0.5 O 0.5 0.5 0.000 O 0.5 0.000 0.5 O 0.000 0.5 0.5 出力: Ba_1Hf_1O_3 テスト中 簡単なテストは、上記の例で行われます。より徹底的なテストは次のとおりです。テストファイルは数千行なので、.xyzファイルを共有します。https://gist.github.com/nachonavarro/1e95cb8bbbc644af3c44

4
イオン性化合物の命名
イオン性化合物は次のように命名されます(metal name) (non-metal suffixed with -ide)。これは、置き換える必要のあるすべてのサフィックスのリストです-ide。 -on -ogen -ygen -ine -orus -ur -ic -ium 化合物の各元素の原子数は、イオン性化合物の命名には使用されません。多価金属の命名規則は無視してください。 NaCl -> sodium + chlorine -> sodium chloride. K2S -> potassium + sulphur -> potassium sulphide (or sulfide). Yb2P3 -> ytterbium + phosphorus -> ytterbium phosphide. PbTe2 -> lead + tellurium -> lead telluride. イオン性化合物を含む文字列(NaCl、K2S、Yb2P3)入力として与えられます。多原子イオンは与えられません。プログラムは、この化合物の名前を出力する必要があります。 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.