私は赤ちゃんを作りたい親の配列を持っていて、空の配列(そのうちの固定長である必要があります)は満たされるのを待っています。どのように子供たちを適切に配っていますか?
私は赤ちゃんが必要です - 子供 - どのようにハンサムな父親に基づいて均等に配布する;しかし、私は突然変異した子が醜い/美しい人であれば誰もがクローンを取得する必要があります。次に
親配列はparents[0] = me;
でソートされています。 私がこれまで行われてきたもの:私は今、何をしようとしている
for (var p = parents.legth; parent--;) {
var myself = parents[p],
aRandomDaddy = parents[~~(Math.random()*parents.length)]
iDeserveMoreThan1Child = parents.length-p;
// if this is 0 they're last in the array and just get their 1 clone. Should be different, right?
makeABabyWith(myself);
if (iDeserveMoreThan1Child) {
makeABabyWith(aRandomDaddy);
}
}
は道のアルゴリズムmakeABabyWith(aRandomDaddy)
、children.length - parents.length
回を把握し、お父さんがどのようにハンサム考慮しています。
私がやって考えてきました:
for(var c = parents.length, totalHandsomeness = 0; c--;)
totalHandsomeness+= parents[c].handsomeness;
...
makeABabyWith(myself);
for (var handsomenessComparedToEveryoneElse
= ~~(myself.handsomeness * children.length/totalHandsomeness);
handsomenessComparedToEveryoneElse--;) {
makeABabyWith(aRandomDaddy);
}
...
さて、これは親の彼らのpercantageへの分配を相対的に与えます。 しかし、フロアリングが発生すると、時々0になるでしょう。 子配列の長さが20の場合、子孫は非常に幅広くなります。
...
var childrenToBeCreated = children.length - parents.length;
...
makeABabyWith(myself);
while (childrenToBeCreated) for (var handsomenessComparedToEveryoneElse
= ~~(myself.handsomeness * children.length/totalHandsomeness);
handsomenessComparedToEveryoneElse--;) {
if (childrenToBeCreated) {
makeABabyWith(aRandomDaddy);
childrenToBeCreated--;
} else break;
}
//EDIT: realised this would run to the end in the first loop and break, instead of run through all and check for left overs.
//EDIT OF THE EDIT: no it wouldn't...
//ED...: Yes it would, the while loops inside the for loop.
...
console.log("is","this"+"a good way to do it?? would this even work");
これは、任意の言語でJSその正確な同じ原理で書かれているが:私はこれに対抗考え
一つの方法はiteritively、このような何かを、このforeloopを実行することです。
この質問を十分に書いているうちに思っていた方法ですが、どうやったらいいですか?
編集:最後の例は、childrenToBeCreated
のパーセントを使用することを意図していませんでした。ptotal
ではなく、私は混乱していると思います。この質問あなたは弁護士に連絡する必要がありますが、私は、問題の技術的な側面であなたを助けることができると思うの法的意味について
「あなたはどのように子供たちを適切に頒布していますか?」これはプログラミング上の問題ではなく法的な質問のように聞こえます。少しでも道徳的に疑わしいと聞こえる。 –
私はこの質問とあなたのコメント@SamAxeをupvoteしなければならなかった。前提は、神聖である。 LOL「私は赤ちゃんが必要です」 LOL親配列はハンサムでソートされていますので、 'parents {0} = me' –
この質問は密かに人身売買広告です。 –