真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NET如何實(shí)現(xiàn)微信搶紅包-創(chuàng)新互聯(lián)

小編給大家分享一下ASP.NET如何實(shí)現(xiàn)微信搶紅包,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出黃驊免費(fèi)做網(wǎng)站回饋大家。

正文


100塊發(fā)30個(gè)紅包

ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包

50塊發(fā)13個(gè)紅包

ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包

1塊發(fā)10個(gè)紅包

ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包ASP.NET如何實(shí)現(xiàn)微信搶紅包

發(fā)紅包需要滿足以下幾個(gè)條件


1.總金額不變
2.每個(gè)紅包都必須有錢
3.盡量的均勻點(diǎn),不然搶紅包沒什么意思了


實(shí)現(xiàn)思路
1.首先要確定最小單位,這里是精確到分,我這里以int類型進(jìn)行計(jì)算,得出的結(jié)果也全是int類型
2.數(shù)據(jù)均勻,這里以  13.余數(shù)處理,當(dāng)數(shù)據(jù)平均給20個(gè)紅包,肯定跟總金額有所偏差,這時(shí)候我們就要多退少補(bǔ),如果大于總金額,讓紅包金額多的去減少(總金額/總?cè)藬?shù)),如果還有剩余,就讓第二多的去減少,直到補(bǔ)完這個(gè)空缺為止,反之亦然.
4.打亂順序,細(xì)心的園友可能發(fā)現(xiàn),紅包是有順序規(guī)律的,我們必須簡(jiǎn)單的寫個(gè)function去打亂它.  


demo

/// 
 /// 搶紅包
 /// 
 /// 
 /// 
 /// 
 public List qhb(int money, int num)
 {
  int min = 1;
  int pjs = money / num;
  List list = new List();
  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;
  }
  //前面數(shù)據(jù)都是合理的,結(jié)尾必須多退少補(bǔ)
  list = checklist(money, pjs, list);
  return list;
 }
/// 
 /// 余數(shù)處理
 /// 
 /// 
 /// 
 /// 
 public List checklist(int money, int pjs, List list)
 {
  if (money != 0)
  {
  if (money > 0)
  {

   List list_order = maopao(list);
   //給最小
   if (money / pjs == 0)
   {   
   list_order[0] += money;
   }
   else
   {
   for (int i = 0; i < money / pjs + 1; i++)
   {
    if (i == money / pjs)
    {
    list_order[i] += (money - (money / pjs) * pjs);
    }
    else
    {
    list_order[i] += pjs;
    }

   }
   }
   return list_order;
  }
  else
  {

   List list_order = maopao(list,"desc");
   //給較大
   if (money / pjs == 0)
   {

   list_order[0] += money;
   }
   else
   {
   for (int i = 0; i < -(money / pjs) + 1; i++)
   {
    if (i == -(money / pjs))
    {
    list_order[i] += (money - (money / pjs) * pjs);
    }
    else
    {
    list_order[i] -= pjs;
    }

   }
   }
   return list_order;
  }
  }
  return list;
 }
 /// 
  /// 冒泡排序
  /// 
  /// 
  /// 
  /// 
  public List maopao(List list,string order = "asc")
  {
  if (order != "asc")
  {
   for (int i = 0; i < list.Count; i++)
   {
   for (int j = 0; j < list.Count - i - 1; j++)
   {
    if (list[j + 1] > list[j])
   {
    int temp = list[j];
    list[j] = list[j + 1];
    list[j + 1] = temp;
 
    }
   }
   }
  }
  else 
  {
   for (int i = 0; i < list.Count; i++)
   {
   for (int j = 0; j < list.Count-i-1;j++)
   {
    if (list[j+1] < list[j])
    {
    int temp = list[j];
    list[j] = list[j+1];
    list[j+1] = temp;

   }
   }
  }
  }
  return list;
 }
/// 
 /// 打亂順序
  /// 
  /// 
  /// 
 public List suiji(List list) 
  {
  Random rnd = new Random();
  for (int i = 0; i < list.Count; i++)
  {
   int temp = list[i];
   int j = rnd.Next(0, list.Count-1);
   list[i] = list[j];
   list[j] = temp;
  }
  return list;
 }

以上是“ASP.NET如何實(shí)現(xiàn)微信搶紅包”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:ASP.NET如何實(shí)現(xiàn)微信搶紅包-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://weahome.cn/article/dighdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部