xxxxxxxxxx
41
const amountOfGuests = 18;
function setup() {
noLoop();
}
function draw() {
let perfectSquares = [];
let allCombinations = [];
const lowerLimit = 3;
const upperLimit = amountOfGuests + amountOfGuests - 1;
//find perfect squares in range
for(let i = lowerLimit; i <= upperLimit; i++){
if(perfectSquare(i)){
append(perfectSquares,i);
}
}
//find ways to uniquly sum the perfect squares
for(const number of perfectSquares){
const possibleCombinations = findCombinations(number);
append(allCombinations,possibleCombinations);
}
//find unique order
for(const set of allCombinations){
for(const partners of set){
console.log(partners.x,partners.y);
}
}
}
function perfectSquare(n){
return (Number.isInteger(sqrt(n))) ? true : false;
}
function findCombinations(n){
let combinations = [];
for(let i = 1; i <= floor(n/2) ; i++){
if(i != n -i){append(combinations, createVector(i,n-i));}
}
return(combinations);
}