I always see problems like "how many structurally distinct abelian groups of order (some large number) are there? I understand how we apply the theorem which tells us that every finite abelian group of order n is isomorphic to the direct sum of cyclic groups. We find this by looking at the prime factorization of n, etc. (like for 600, 600 = 2^3 * 3 * 5^2, so we know there are 6 combinations possible and so 6 structurally distinct abelian groups of order 600) however, what if I'm going the other way around? What if I have a group of order say something simple like 4, takes Z*(8) for example. I want to put this in terms of a direct sum of cyclic groups, and I know there are 4 options. How do I find out which one it is isomorphic to? I know I can do brute force things like take the cyclic subgroups generated by each of the elements and see what the order of each element is. But is there any hard and fast way which will tell me, like maybe based on the prime factorization of n, so that when I'm dealing with a large number (like Z*(700)) I'd be able to tell which direct sum of cyclic groups its isomorphic to?