0
으로 번호를 생성 나는이규칙
var maxLength=250;
var range=new int[]{48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75};
같은 컬렉션 번호가 내가 그 컬렉션에서 4 개 난수를 얻기 원하고 내가 그것을 요약하면 결과가 '최대 길이'와 동일해야합니다. 내가 어떻게 할 수 있니? 는 이미 here에서 읽을하고 있지만, 1에서 100에 내 번호 수집은 이미이
var random = new Random();
var vals = new int[count];
maxLength -= count;
for (int i = 0; i < count; i++)
{
vals[i] = range.Select(x => range[random.Next(0, range.Length)]).FirstOrDefault();
}
vals[count - 1] = maxLength;
Array.Sort(vals);
for (var i = count - 1; i > 0; --i)
{
vals[i] -= vals[i - 1];
}
그러나 발스의 합이 여전히 잘못된 값을 생성처럼 그 일을하려고 그 수 의 일부를 제외됩니다.
사이드 메모를 - 이게 아니다. Enumerable.Range (47, 76). 어디에서 (i => tes.Contains (i)) .ToArray()'tes와 같은가? –
예. 죄송합니다 중복. 이미 편집 : D – albilaga
* 결과가 'a'*와 동일해야 함을 설명 할 수 있습니까? 나는 당신의 코드에서'a'를 보지 못합니다. 나는 당신이 'a'의 char 코드에 대해 이야기하고 있다고 믿는다. 하지만 여전히 * 결과는 'a'와 동일해야합니다. * 명확하지 않습니다. –