gcdのロジックを簡略化