您的位置:首页 > 其它

产生和为0的一组随机数

2015-10-07 18:09 197 查看
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
;
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 开始循环;
}
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: