Maison  >  Article  >  Applet WeChat  >  Implémentation ASP.NET de l'exemple de code de capture d'enveloppe rouge WeChat

Implémentation ASP.NET de l'exemple de code de capture d'enveloppe rouge WeChat

Y2J
Y2Joriginal
2017-04-26 14:43:281944parcourir

Tout le monde dans le groupe joue au jeu de saisir des enveloppes rouges, de les saisir et de les envoyer, de les envoyer et de les récupérer à nouveau. C'est tout simplement ennuyeux. Les programmeurs s'intéressent à la façon de l'implémenter. une brève introduction à l'idée d'implémentation, et un dôme est joint. Le code est un peu bas, heureusement il a été implémenté, le contenu spécifique est le suivant

Texte<.>

100 pièces seront envoyées 30 pièces Enveloppes rouges

 

13 enveloppes rouges pour 50 yuans

 

10 enveloppes rouges par bloc

Les conditions suivantes doivent être satisfait pour émettre des enveloppes rouges


1. Le montant total reste inchangé

2. Chaque enveloppe rouge doit contenir de l'argent
Essayez d'être aussi uniforme que possible, sinon ce sera le cas. cela n'a aucun sens de saisir des enveloppes rouges

Idées de mise en œuvre
1 Tout d'abord, nous devons déterminer la plus petite unité Ici, elle est exacte. en minutes. J'utilise le type int pour le calcul ici, et les résultats sont tous de type int
2. Les données sont uniformes, ici c'est 1 3. Traitement du reste, lorsque les données donnent une moyenne de 20 enveloppes rouges, elles doivent être différentes du montant total à ce moment-là, nous devons rembourser davantage. et faites moins. S'il est supérieur au montant total, laissez l'enveloppe rouge. Celle avec le montant le plus élevé le réduira (montant total/nombre total de personnes). S'il reste encore quelque chose, laissez celle avec le deuxième. le plus grand montant le réduit jusqu'à ce que le poste soit pourvu, et vice versa
4. Mélangez soigneusement la commande et le jardin. Les amis peuvent constater que les enveloppes rouges sont en ordre, il faut simplement écrire une fonction pour la perturber. 🎜>
démo

/// <summary>
 /// 抢红包
 /// </summary>
 /// <param name="money"></param>
 /// <param name="num"></param>
 /// <returns></returns>
 public List<int> qhb(int money, int num)
 {
  int min = 1;
  int pjs = money / num;
  List<int> list = new List<int>();
  Random rnd = new Random();
  for (int i = 0; i < num; i++)
  {
  int max = (money / (num - i)) * 2;
  int s = rnd.Next(min, max);
  s = checkmoney(s, min, max);
  list.Add(s);
  money -= s;
  }
  //前面数据都是合理的,结尾必须多退少补
  list = checklist(money, pjs, list);
  return list;
 }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn