##Java - 66 chars## <!-- language: lang-java --> int rand7(){int s;while((s=rand5()*5+rand5())<10);return(s%7+1);} Longer than previous routine, but I think this one returns uniformly distributed numbers in less time.