JSFiddle - React, Tailwind, and code Playground

by Jens Kühn

JavaScript

function generateNumberList(totalSum, numberOfNumbers) {
  // Erstelle eine Liste mit gleichen Startwerten (1) für jede Nummer
  let numbers = Array(numberOfNumbers).fill(1);

  // Berechne die Differenz zwischen der gewünschten Summe und der aktuellen Summe der Liste
  let remainingSum = totalSum - numbers.reduce((sum, num) => sum + num, 0);

  // Verteile die verbleibende Summe auf die Nummern, indem du den Wert gleichmäßig aufteilst
  for (let i = 0; i < remainingSum; i++) {
    numbers[i % numberOfNumbers]++;
  }

  return numbers;
}

const totalSum = 603142;
const numberOfNumbers = 30;
const numberList = generateNumberList(totalSum, numberOfNumbers);
console.log(numberList);