找出给定分子中每个原子的氧化状态。这些可以作为列表输出或以其他形式输出。
一个分子的总氧化状态总是为零。总氧化态是分子中每个原子的氧化态之和。
以下原子具有恒定的氧化状态:
H,总是处于+1状态O,总是处于-2状态F,总是处于-1状态。Cl,总是处于-1状态在单原子分子(如H2或S8)中,所有原子的状态都是0。即(H2是0, 0,S8是0, 0, 0, 0, 0, 0, 0, 0)
第1组元素是:Li, Na, K, Rb, Cs, Fr。第2组元素是:Be, Mg, Ca, Sr, Ba, Ra。
你就能计算出分子中每个原子的状态。不会有模糊的输入(即不会给您H2O2或P4Br6)。
你应该输出单个原子的氧化状态,而不是总态。
如果分子中有一个元素没有列在上面的列表中,你需要自己计算出它的氧化状态,因为所有原子的氧化态之和等于零。
这些分子不一定存在于现实生活中。
你永远不会得到一个原子,如Ti或F。
不允许内置函数访问关于氧化状态的数据。
Input > Output
H2O > +1, +1, -2
CO2 > +4, -2, -2
CH4 > -4, +1, +1, +1, +1
H2SO4 > +1, +1, +6, -2, -2, -2, -2
NaHCO3 > +1, +1, +4, -2, -2, -2
XeF8 > +8, -1, -1, -1, -1, -1, -1, -1, -1
TiCl2 > +2, -1, -1
P4 > 0, 0, 0, 0以字节为单位的最短代码获胜。
发布于 2017-05-22 14:29:14
https://codegolf.stackexchange.com/questions/122005
复制相似问题