ホームページ >バックエンド開発 >PHPチュートリアル >PHP宝くじアルゴリズムのアイデア?

PHP宝くじアルゴリズムのアイデア?

WBOY
WBOYオリジナル
2016-08-04 09:20:241429ブラウズ

インターネット上には不適切なアルゴリズムがあります。詳細についてはリンクを参照してください

一般的な原理は次のとおりです。
1、乱数を生成します。
2、N 番目の賞の確率を循環的に比較します。
3、賞品を決定します。

このアルゴリズムに従うと、主観的には 1 つの賞を引くことになりますが、客観的には、各賞は 1 サイクルで 1 回抽選されます。私の理解が正しいかどうかはわかりません。

以下は私が書いた具体的な原則です:

1. まず乱数 (幸運な数字) の範囲を決定します。
2. 特定の抽選に 1 つだけ対応できるようにします。賞品; 3. 範囲に基づいて幸運な数字を生成します。
4. 範囲に基づいて賞品を決定します。
専門家に聞いてください。より良いアルゴリズムやアイデアはありますか?
リーリー

返信内容:

インターネット上には不適切なアルゴリズムがあります。詳細についてはリンクを参照してください

一般的な原理は次のとおりです。

1、乱数を生成します。

2、N 番目の賞の確率を循環的に比較します。

3、賞品を決定します。
このアルゴリズムに従うと、主観的には 1 つの賞を引くことになりますが、客観的には、各賞は 1 サイクルで 1 回抽選されます。私の理解が正しいかどうかはわかりません。

以下は私が書いた具体的な原則です:

1. まず乱数 (幸運な数字) の範囲を決定します。

2. 特定の抽選に 1 つだけ対応できるようにします。賞品; 3. 範囲に基づいて幸運な数字を生成します。

4. 範囲に基づいて賞品を決定します。

専門家に聞いてください。より良いアルゴリズムやアイデアはありますか?
リーリー

私が言えることは、ふふふということだけです。宝くじアルゴリズムの決定権はプログラマーにあるわけではない、それが重要なのです。
通常、宝くじ活動はマーケティング部門によって開始、計画、評価、および運営され、プログラマーの役割はそれらを実装することだけです。マーケティング アクション プランには、賞品の設定、イベント期間、プロモーション戦略、コールド/ホット タイム、賞品配布バッチなどを含める必要があります。簡単に言うと、これはマーケティング部門が指示するシーンであり、開発者は現場の指揮者です。 . 番組がスケジュール管理を担当し、宝くじの当選者は俳優です。

つまり、配布する賞品が賞金プールを超えない限り、宝くじのアルゴリズムは役に立ちません。

どうすれば宝くじの公平性と正義を反映できるのかと言う人もいるかもしれません。実際、プログラムは作成後に自動的に実行されるため、この問題を考慮する必要はほとんどありません。現時点では、参加者全員にとって平等な環境であり、不公平な問題はありません。

代表的な疑似アルゴリズムは次のとおりです。

雨露賞: 5 元の消費割引クーポン、当選率 100%;
水たまり賞: 10 元の消費割引クーポン、当選率 50%
ベン レイ賞: 100 消費割引クーポン元、勝率は 5%

サンダー賞:iPad 1 台、合計 6 台。

アクティビティ時間は12時間で、抽選券の上限はありません。
アルゴリズム: 宝くじタイムスタンプのマイクロ秒部分は 20 の倍数 = 雷、奇数 = 水たまり、それ以外の場合は雨露です。 2 時間ごとが 1 サイクルとなり、次のサイクルの開始時に最初の宝くじの勝者が前のサイクルのライトニング賞を獲得します。期間が終了した後に最初の宝くじを受け取った時点で、イベント全体が完全に終了します。

不公平な質問はありますか?それで、ふふ。結局のところ、ニーズに応じてプログラムを作成する必要があります。

リーリー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。