Page 1 of 1

Wie verteile ich die Zahlen 1-100 (einschließlich) genau auf eine gewichtete Liste mit einer Länge von <= 100?

Posted: 20 Jan 2025, 15:58
by Guest
Ich habe eine Liste mit Artikeln, jeder Artikel hat ein Gewicht;

Code: Select all

std::vector weights{0.5, 2, 5};
Diese Liste ist höchstens 100 Elemente lang und mindestens 2 Elemente lang.
Ich möchte die ganzen Zahlen 1-100 umgekehrt proportional verteilen (einschließlich) in dieser Liste, sodass das niedrigste Gewicht den größten Bereich erhält.
Dieser Code bringt mich nahe, aber die Bereiche werden nicht umgekehrt:

Code: Select all

    #include 
#include 
#include 

void distributeNumbers(const std::vector& numbers) {
float total = 0;
for (float num : numbers) {
total += num;
}

int start = 1;
int end = 100;
std::cout