If you want to show that the countable union of countable subsets is countable, you can use Cantor-Schroeder-Bernstein (I don't think it uses AC --even in summer :) ), and set up injections between $\mathbb N$ and $\mathbb N \times \mathbb N $, and the other-way-around , by generalizing this:
take any two primes , say 2,3, and map : $(a,b)\rightarrow 2^a3^b$ ( you can see that, to generalize to a product of k-copies of $\mathbb N$, just take k different primes; if you want an actually countably-infinite product, this is maybe more delicate), and an injection in the opposite direction is given by , e.g., n->(n,0,0,...).
And, BTW, any choice of injections in CSBernstein allows to construct an actual bijection.
EDIT: I think it is not too hard to show the map (a,b)->$2^a3^b$ is an injection; if we had $2^a3^b=2^{a'}3^{b'}$, it would follow that $2^{a-a'}3^{b-b'}=1$; by simple divisibility arguments, each of the factors on the left-hand side would have to divide 1; it then follows that a-a'=0 and b-b'=0, i.e., a=a', b=b'.
EDIT#2 : Please see some of the caveats in the comments section about concluding that the union of countables is countable.
\mathbb{N}
); what is $Z_n$, though? – Arturo Magidin Aug 02 '11 at 19:43