产生和为0的一组随机数

来源:互联网 发布:pathfinder软件价格 编辑:程序博客网 时间:2024/04/27 05:17


using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Timers;namespace 定义事件{    class Program    {        static void Main(string[] args)        {            开始循环:            /*产生和为0的一组随机数            这个分析一下就知道个大概:            当N=1,那么,只有0这个数值            当N=2,那么,第二个数必须是第一个数的反值(当第一个数不为0)            当N=3,那么,第3个数必须是前两数和的反值(当和不为0时)            这样就好设计了,只要前几位随机生成,但最后一个数就必须判断并取其反值(正数就取负数,负数就取正数)就可以了.*/            int N = 8;            int[] 数组 = new int[N];            do            {                if (N > 1)                    数组[N - 1] = new Random(DateTime.Now.Millisecond + N).Next(-100, 100);                if (N == 1 && 数组.Sum() != 0)                    if (Math.Abs(数组.Sum()) <= 100) 数组[0] = -数组.Sum();                    else goto 开始循环;             } while (--N > 0);            Console.WriteLine("数组内容{0},数组和{1}", string.Join(" ", 数组), 数组.Sum());            Console.ReadKey();            goto 开始循环;        }    }}

1 0
原创粉丝点击