gpt4 book ai didi

javascript - 如何将一个数字分成 4 个偶数?

转载 作者:行者123 更新时间:2023-11-30 08:19:14 25 4
gpt4 key购买 nike

所以,我有 4 个随机数:

假设我想平均分配所有这些,使它们都相等。如果我有任何余数,那么余数将被添加到第一个数字上。

var a = number1 + number2 + number3 + number4;
var b = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 0;
var c = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 1;
var d = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 2;
var e = math.floor(number1) + math.floor(number2) + math.floor(number3) + math.floor(number4) + 3;


if (a = b){
remainder0()
}
if (a = c){
remainder1()
}
if (a = d){
remainder2()
}
if (a = e){
remainder3()
}

function remainder0(){
number1 = (a / 4);
number2 = a / 4;
number3 = a / 4;
number4 = a / 4;
}

function remainder1(){
number1 = (a / 4) + 1;
number2 = a / 4;
number3 = a / 4;
number4 = a / 4;
}

function remainder2(){
number1 = (a / 4) + 2;
number2 = a / 4;
number3 = a / 4;
number4 = a / 4;
}

function remainder3(){
number1 = (a / 4) + 3;
number2 = a / 4;
number3 = a / 4;
number4 = a / 4;
}

if 语句似乎不起作用,如果 remainder0() 函数起作用,则 4 个数字似乎不合适并且有意义。

最佳答案

您可以得到所有数字的总和,然后计算出该总和除以您拥有的数字的个数。然后,您可以算出余数,并将其加到第一个数字上:

const evenlyDistribute = numbers => {
const sum = numbers
.reduce((p, c) => p + c, 0);

const evenly = Math.floor(sum / numbers.length);
const remainder = sum % numbers.length;

const asList = Array.from(new Array(numbers.length).keys())
.fill(evenly);

return asList.map((x, i) => i === 0 ? x + remainder : x);
}

const x = evenlyDistribute([13, 30, 30, 30]);

console.dir(x);

正如您在评论中建议的那样,您不想使用除基本 javascript 之外的任何东西,也不想使用数组,这里有一个这样的实现:

var numberOne = 13;
var numberTwo = 30;
var numberThree = 30;
var numberFour = 30;

var totalSum = numberOne + numberTwo + numberThree + numberFour;

var evenSplit = Math.floor(totalSum / 4);

numberOne = evenSplit + (totalSum - (4 * evenSplit));
numberTwo = evenSplit;
numberThree = evenSplit;
numberFour = evenSplit;

console.log(numberOne, numberTwo, numberThree, numberFour);

  • 这段代码不是很好。更改此代码比应该更困难,例如,更改正在处理的数字数量,或者如何在数字之间分配总和

  • 这段代码也不是很好,因为它会改变变量。找出此代码不同部分的 numberOne 是什么相当容易,但遵循此模式意味着进一步的更改可能会使事情变得难以遵循。

最后一点;当你在 Stack Overflow 上提问时,如果你把你的要求放在你原来的问题中,你会得到更好的答案。此外,“基本”javascript 到底是什么?为什么不能使用数组?包括这类内容会让您更快地切入正题,并防止您浪费别人的时间。

关于javascript - 如何将一个数字分成 4 个偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56805376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com