test.js 731 B

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. const _ = require('lodash');
  3. // 获取总人数
  4. const number = 10;
  5. // 按照 一组 4人/5人 计算下有多少组
  6. const groupPersonNumbers = [ 4, 5 ];
  7. const result = [];
  8. console.group(`共:${number}人`);
  9. for (const num of groupPersonNumbers) {
  10. // 商,向下取整
  11. const r = _.floor(_.divide(number, num));
  12. // 余数
  13. const l = number % num;
  14. result.push({ r, l, t: num });
  15. console.log(`${num}人一组: 商:${r};余:${l}`);
  16. }
  17. console.groupEnd(`共:${number}人`);
  18. const res = _.orderBy(result, data => {
  19. console.log(data);
  20. const { t, l } = data;
  21. // 没有余数的,说明恰好分完,先提上去
  22. if (l === 0) return l;
  23. // 有余数的,计算 余数越大越好
  24. }, 'asc');
  25. console.log(res);