Periodic table: Difference between revisions

m
mNo edit summary
Line 2,041:
fn periodic_table(n int) (int, int) {
mut logged := log.Log{}
mut limit := []int{}
mut row, mut start, mut end := 0, 0, 0
if n < 1 || n > 118 {logged.fatal("Atomic number is out of range.")}
Line 2,048 ⟶ 2,049:
if n >= 89 && n <= 103 {return 9, n - 85}
for i := 0; i < limits.len; i++ {
limit := limits[i]
if n >= limit[0] && n <= limit[1] {
row, start, end = i + 2, limit[0], limit[1]
break
}
}
if n < start + 2 || row == 4 || row == 5 {return row, n - start + 1}
return row, n - end + 18
}
291

edits