在原子物理学和量子化学的电子组态是分布的电子的的原子中原子轨道。例如,氖原子的电子构型为1s 2 2s 2 2p 6。(来自维基百科)
挑战
您面临的挑战是获取一个表示元素原子序数的数字,并输出根据Aufbau原理定义的该元素的电子构型。
铁(26)具有电子构型。但是,上标是不必要的。26的输出应该沿着1s2 2s2 2p6 3s2 3p6 3d6 4s2
1s2 2s2 2p6 3s2 3p6 3d6 4s2
。
规格
- 您不必处理超出范围的任何输入
1 <= n <= 118
。 - 你的输出应该是这个样子的测试用例,但你可以(从侧面使用任何非数字字符/字符
s
,p
,d
,和f
)来分隔不同的轨道。 - 您必须返回/打印一个包含轨道名称/值/定界符的字符串;您不能简单地返回/打印数组。
- 您无需处理Aufbau原则的任何例外情况;在有例外的情况下,可以打印“不正确”的配置。
例子:
Input -> Valid output -> Invalid output
16 -> 1s2 2s2 2p6 3s2 3p4 -> 1s22s22p63s23p4
16 -> 1s2, 2s2, 2p6, 3s2, 3p4 -> [[1, 2], [2, 2], [2, 6], [3, 2], [3, 4]]
17 -> 1s2+2s2+2p6+3s2+3p5 -> 1s2s2s2s2p6p3s2s3p5
这是所有电子轨道的清单。它们可以包含的最大值低于名称:
name: 1s 2s 2p 3s 3p 3d 4s 4p 4d 5s 5p 4f 5d 6s 6p 5f 6d 7s 7p
max: 2 2 6 2 6 10 2 6 10 2 6 14 10 2 6 14 10 2 6
测试用例
Input -> Output
1 -> 1s1
2 -> 1s2
16 -> 1s2 2s2 2p6 3s2 3p4
50 -> 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 5s2 5p2
115 -> 1s2 2s2 2p6 3s2 3p6 3d10 4s2 4p6 4d10 5s2 5p6 4f14 5d10 6s2 6p6 5f14 6d10 7s2 7p3
获奖条件
因为这是代码高尔夫球,所以最短的代码获胜!
4s1 3d5
代替4s2 3d4
)。我看到它在沙盒帖子中被询问了,但从未得到回答。我们忽略这个问题吗?