Wellicht een hele domme vraag, maar ik probeer het volgende uit te rekenen en wellicht weet iemand hiervoor een methode om dit te berekenen behalve brute-force.
Ik heb een array met integers van 1 t/m 65536. De waarde van deze integers worden elke keer bij elkaar opgeteld in een som, dus als volgt:
Wat ik nu probeer te achterhalen is op basis van een willekeurig getal, welke integer uit de originele array daarbij hoorde. Dus bijvoorbeeld waarde 12 zou als resultaat 4 moeten geven en waarde 31 zou 7 terug moeten geven.
Weet iemand die misschien wel heeft opgelet tijdens wiskunde op de basisschool hoe ik dit kan berekenen? Het is vast heel dom, maar ik kom er even niet uit. Nu doe ik het op een hele eenvoudige brute-force manier, maar dit ik erg lelijk en traag.
Ik heb een array met integers van 1 t/m 65536. De waarde van deze integers worden elke keer bij elkaar opgeteld in een som, dus als volgt:
code:
1
2
| Integers: 1, 2, 3, 4, 5, 6, 7, 8, ... Totaal: 1, 3, 6, 10, 15, 21, 28, 36, ... |
Wat ik nu probeer te achterhalen is op basis van een willekeurig getal, welke integer uit de originele array daarbij hoorde. Dus bijvoorbeeld waarde 12 zou als resultaat 4 moeten geven en waarde 31 zou 7 terug moeten geven.
Weet iemand die misschien wel heeft opgelet tijdens wiskunde op de basisschool hoe ik dit kan berekenen? Het is vast heel dom, maar ik kom er even niet uit. Nu doe ik het op een hele eenvoudige brute-force manier, maar dit ik erg lelijk en traag.