12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 'use strict';
- const limit = 6;
- // for (let i = limit; i <= limit; i++) {
- // const r1 = limit % 2;
- // if (r1 > 0) {
- // // 奇数
- // const mid = (limit - 1) / 2;
- // } else {
- // // 偶数
- // }
- // }
- const loop = ({ limit, els = 0 }) => {
- if (limit === 1 && els === 0) {
- console.log('比赛结束');
- return;
- }
- const r1 = (limit + els) % 2;
- let mid;
- if (r1 > 0) {
- // 奇数
- mid = (limit + els - 1) / 2;
- els = 1;
- console.log('轮空1支队伍');
- console.log(`奇数:limit:${mid};els:${els}`);
- } else {
- // 偶数
- mid = (limit + els) / 2;
- els = 0;
- console.log(`偶数:limit:${mid};els:${els}`);
- }
- return { limit: mid, els };
- };
- for (let i = 5; i <= 20; i++) {
- console.group(`${i} 支队伍开始淘汰`);
- let m;
- m = loop({ limit: i });
- while (m) {
- m = loop(m);
- }
- console.groupEnd(`${i} 支队伍淘汰结束`);
- }
|