I was wondering if there are any theorems that specify an exact number of subgroups that a group G has, maybe given certain conditions. The closest thing I know is a theorem that says if G is finite and cyclic of order n it has exactly one subgroup of order d for each divisor d or n. I am not sure what the formal name of this theorem is. I also know Lagrange's theorem (if H a subgroup of G, order of H divides order of G), Sylow's theorem (if G a finite group of order n, then if you take the prime factorization of n, n=p1kp2j...pmz then for each pmk in that factorization G has at least one subgroup of order pmi for 0<=i<=k) I also know another theorem which says if G is finite and Abelian, it has at least one subgroup of order d for every divisor d or n. The thing that gets me is the "at least one subgroup" in these theorems. Are there theorems other than the first one I posted up there which specify exactly how many subgroups of a certain size there are? Like if I have a group of order 500 (or any finite number), say there's no knowledge if it's cyclic or not, is there a way to say exactly how many subgroups it has? What if it's gauranteed to be Abelian? I know if it's Abelian I can say it's isomorphic to direct sums Zm + Zn + ... + Zz for the different combinations of its prime factorization (what I mean by that is say I have an Abelian group of order 24 so its prime factorization is 2*2*2*3, then its isomorphic to Z2 + Z2 + Z2 + Z3, to Z4 + Z2 + Z3, to Z8 + Z3, and to Z24) so do I just then look at the number of subgroups of say Z24? Is there a theorem which would tell me exactly how many subgroups Z24 has?