Cover photo

抽選ルール① (当選者数)

概要

ビットコいぬの抽選は、認証ユーザーと非認証ユーザーの応募から合計1500人の当選者を選びます。

認証ユーザーの応募から優先して当選者が選ばれ、N人に満たなかった場合は非認証ユーザーの応募から選ばれます

認証ユーザーを優先する理由は、非認証ユーザーはいくらでもBotアカウントを量産して応募することができてしまいますが、認証ユーザーは課金しているためBotではなく人間がきちんと運用している信頼性が高いからです。

計算例

  1. 応募者数: 認証済みユーザー500人、非認証ユーザー500人

    当選者数: 認証済みユーザー500人(当選率100%)、非認証ユーザー500人(当選率100%)

  2. 応募者数: 認証済みユーザー500人、非認証ユーザー5000人

    当選者数: 認証済みユーザー500人(当選率100%)、非認証ユーザー1000人(当選率20%)

  3. 応募者数: 認証済みユーザー3000人、非認証ユーザー50000人

    当選者数: 認証済みユーザー1500人(当選率50%)、非認証ユーザー0人(当選率0%)

プログラムコード

function calculateWinners(verifiedApplicants, unverifiedApplicants, totalWinners = 1500) {
  // 入力値の検証
  if (verifiedApplicants < 0 || unverifiedApplicants < 0 || totalWinners < 0) {
    throw new Error('負の値は無効です');
  }
  
  // 認証済みユーザーの当選者数を決定
  const verifiedWinners = Math.min(verifiedApplicants, totalWinners);
  
  // 残りの当選者枠
  const remainingWinners = totalWinners - verifiedWinners;
  
  // 非認証ユーザーの当選者数を決定
  const unverifiedWinners = Math.min(unverifiedApplicants, remainingWinners);
  
  return {
    verified: verifiedWinners,
    unverified: unverifiedWinners,
    total: verifiedWinners + unverifiedWinners
  };
}