There is a group of 30 people who communicte only by phone. During any one to one phone conversation the two members exchangealltheir information. Find the number of calls needed so that everyone finds out every bit of news.

I think I figured out the answer to be 57. For example, if you had only three callers...person 1 calls person 2 and they exhange information. Person 2 then calls person 3 and now person 2 knows everyone's info and so does person 3 since person 2 knew person 1's info from the first call. All that is left is for person 1 to call person 3. So there are 3 calls needed. Every time you go up in the number of callers, 2 more calls seem to be needed since there is one more person for the next to last caller to call and one more person for the second to last caller to call to get all the info. What I'm looking for is (1) am I correct in 57 calls? and (2) is there a general formula that could be used to determine for instance the number of calls needed for say 500 callers without having to count by 2's the whole way?

Thanks for any help you can provide!!