Wide Periodic Table by nn

n=0
a=b=c=d=''
h='+---'
('HeHLiBeBCNOFNeNaMgAlSiPSClArKCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKrRbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXeCsBaLaCePrNdPmSmEuGdTbDyHoErTmYbLuHfTaWReOsIrPtAuHgTlPbBiPoAtRnFrRaAcThPaUNpPuamCmBkCfEsFmMdNoLrRfDbSgBhHsMtDsRgCnUutUuqUupUuhUusUuo'=~/Pu|am|.[a-z]*/).each{e=a.size()%39-7
p=e?' '*(n?n-3&&n-11?n-19&&n-37?0:55:95:119):'\n'
f={sprintf'|%3s'+(p?"|$p":d),it}
a+=p?"$h+$p":h
b+=f(++n+d)
c+=f(it.center(2))
e||[a+=b+c,b=c=d]}
print a+h*32+'+'

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page