ホームページ >バックエンド開発 >PHPチュートリアル >アルゴリズムについて質問する
アルゴリズムはまだないはずです
簡単な例を見てみましょう
勝率は 10% オフです
20 についても同様です。 % オフと 10%
当選率は、人数ごとに確率を推定し、当選者数をデータベースに保存する必要があります。残りの当選者数が 0 に達すると、確率は 0 に調整できます。
40% オフから数えて、より高い賞品を獲得するために下に進みます。もはや中低ではありません
アルゴリズムは存在しないはずです
簡単な例を見てみましょう
勝率 40% を 10% オフにすると、
$num = rand(0,9);if($num <4){ //中奖代码}else{ //未中奖代码}
$num = rand(0,9);if($num <4){ //中奖代码}else{ //未中奖代码}
アルゴリズムについて話す必要すらありません
簡単な例を見てみましょう
10% 割引で勝率が 40% の場合、
/** 获取折扣率,这里只是随机获取 * 对于7、6折的,提前/之后判断是否达到数量,然后给予10%的几率。 */function luckRate(){ $randn = rand(1,10); $re = 1; switch ($randn) { case 1: case 2: case 3: case 4: $re = 0.9; break; case 5: $re = 0.8; break; case 6: $re = 0.7; break; case 7: $re = 0.6; break; default: $re = 1; break; }}
10% 割引で勝率が 40% の場合、
10% 割引でも同じことが当てはまります
修正するには。当選者の数が多ければ、確率を推定し、同じ方法で賞品を獲得したかどうかを計算する必要があります。
当選者の数をデータベースに保存し、残りの当選者数が 0 になったら、確率を調整することができます。 0.
60% オフからカウントします。高勝者は低勝者ではなくなります
重要なのは、製品によって参加者数が異なる可能性があるため、一定の人数の確率が決定されないことです。抽選には 10,000 人が参加する場合もあれば、1,000 人しか参加しない場合もあるため、ここで確率を推定することは困難です
プログラムは計算問題を解決することしかできません。これは何人が抽選するかということではありません。プログラムが判断できることは、イベント プランナーが考慮する必要があることです... 人数の 40% オフか 30% オフか? 次に、推定範囲を設定してこのプログラムに渡すか、このプログラムに読み取らせる必要があります。
異なる人に対して 40% オフまたは 30% オフに対応するプログラムが欲しいと言っているのでしょうか? それは、推定範囲を設定してこのプログラムに渡すか、このプログラムに読み取らせる必要があります。言葉では、やはり確率を与える必要がありますよね?クエリ範囲。
さまざまな人に対して 40% オフまたは 30% オフに対応するプログラムが必要だということですか? それから、推定範囲を設定してプログラムに渡すか、プログラムに読み取らせる必要があります。言葉、あなたはまだ与えなければなりません 確率を設定しても大丈夫ですか?
はい...
どれだけの割引を希望するかに関係なく、数量を定義します。たとえば、10% 割引が必要な場合は、10 を描画し、ランダム関数を作成する必要があり、データベース クエリ範囲内に必要なレコードは 10 件だけです。
一度に10枚描くのではなく、ユーザーが来店したときに1回だけ描いて、抽選が終了するまで(できればこの時点でイベントがほぼ終了するまで)待つタイプのはずです