2014-02-12 2 views
-1

C#에서 "-1"또는 "+1"을 생성하는 가장 짧은 방법은 무엇입니까? 벡터에 임의의 방향을 지정해야합니다. 당신이 -1의 분포와 일을 원하는 경우에C에서 임의로 "-1"또는 "+1"을 생성하는 가장 짧은 방법

+0

? 구현시 어떤 문제점이 있습니까? – Servy

+1

내가 갈 수있는 가장 짧은 것은'1'입니다. 추가 요구 사항? ;) –

+0

@ MagnusHoff 공정한 주사위 굴림으로 그 번호를 얻었습니까?! : D – Luaan

답변

2

, 당신은 사용할 수 있습니다

Random rand = new Random(); 

while({condition}) 
{ 
    int next = rand.Next(2) == 0 ? -1 : 1; 
} 
+0

왜 간단한 수학 연산을하지 않습니까? 나는 이것에 대해 생각한다.'rand.Next (2) - 1' – aloisdg

+0

@aloisdg -1이나 0이 아닌 -1이나 1을 줄 것이다. –

+0

네가 맞다. 이건 어때?'rand.Next (2) * 2 - 1' – aloisdg

0

있다 :

var r=new Random(); 
int direction = (r.Next(2) == 1 ? 1 : -1); 

r.Next(2)가 생성됩니다 중 하나 0 또는 각 통화에 1 .

나 : 당신이 자신을 위해 노력했다 무엇

int directions[] = {1, -1}; 
int direction = directions[r.Next(2)]; 
관련 문제