2011-01-24 5 views
0

5 개의 변수가 값으로 구성되어있는 경우, fa와 fe 사이의 값에 f1 = 1, f2 = 0, f3 = 0, f4 = 7처럼 정수에 6의 간격이 있는지 확인해야합니다. , f5 = 10; f1과 f4 사이의 간격은 6입니다.값 사이의 비교

var f1:int 
var f2:int 
var f3:int 
var f4:int 
var f5:int 

어떻게 액션 스크립트를 쉽게 비교할 수 있습니까?

답변

2

var f:Array = new Array(f1, f2, f3, f4, f5); 
f.sort(); 
for (var x = 0; x < f.length - 1; ++x) 
{ 
    if (f[x+1] - f[x] >= 6) 
    { 
     // here's your gap 
     Alert.show("Gap between "+f[x].toString()+" and "+f[x+1].toString()); 
    } 
} 

주 같은 것을 할 수있는 것처럼 간격이 있는지 여부를 말해주지, 보이는, 그리고 격차의 양쪽 끝에있는 값입니다,하지만 구체적으로 말할 것이다 변수 관련되어있다. 그리고 그것은 반드시 가장 큰 차이를 발견하지 못할 것입니다; 그것은 (문제를 이해함에 따라) 자격을 얻는 것을 찾아 낼 것입니다.

+0

가장 큰 간격> 6을 찾는 것처럼 보이기 때문에 더 까다로워집니다. 그의 예에서는 'f1과 f4 사이'라고 말합니다. 배열은 좋은 접근법이지만, 정렬하지 말아야합니다. [0, 15,5,10,20]과 같은 경우, 0 -> 15 간격을> 6으로 등록하지 않기 때문입니다. 왜냐하면 [05101520]로 정렬됩니다. – david

+1

"f1과 f4 사이"는 "1과 7 사이"가됩니다. 어느 코드가 내가 게시 한 코드일까요? 가장 큰 간격을 원하면 f2 (또는 f3)와 f5 사이가됩니다. 그래도 찾을 수있는 것에 대해 추가 메모를 추가했습니다. – cHao

+0

흥미 롭지 만, "여기에 당신의 틈이 있습니다"는 어떤 배열을 표시 할 수 있습니까? – Proyb2