using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
#region 红包算法一
Console.WriteLine("-----------------------------------红包算法一---------------------");
//初始化要发起的红包基础数据
double total = 100;
int num = 50;
double min = 0.01;
string temp;
bool flag = false;
Console.WriteLine(string.Format("是否需要自定义红包金额和数量(默认{0}元/{1}人)Y/N:", total, num));
temp = Console.ReadLine();
if (temp.Trim().ToLower().Equals("y") || temp.Trim().ToLower().Equals("yes"))
{
Console.WriteLine("请输入你要发起的红包金额:");
do
{
temp = Console.ReadLine();
flag = double.TryParse(temp, out total);
if (!flag)
{
Console.WriteLine("金额必须为整数或小数,请重新输入:");
}
} while (!flag);
Console.WriteLine("请输入你要发起的红包个数:");
do
{
temp = Console.ReadLine();
flag = int.TryParse(temp, out num);
if (!flag)
{
Console.WriteLine("红包个数必须为整数,请重新输入:");
}
} while (!flag);
}
total -= min * num;
if (total < 0)
{
Console.WriteLine("抱歉,你的金额不足!");
return;
}
//产生正态分布的随机红包金额,并计算相关的金额和数量保证数据的准确性
double average = total / num;
double variance = 1;
Random u1 = new Random();
Random u2 = new Random();
double[] nums = new double[num];
for (int i = 0; i < num; i++)
{
double? result = total;
if (i < num - 1 &&