C# 배경에오고 F #을 배우려고합니다.
나는 크기 256의 배열을 반복하기 위해 노력하고있어, 그래서 그것의 총합이 같은 요소의 위치와 요소의 제품 수 :F # 요소 위치가있는 배열의 곱의 합
float sum = 0.0;
for (int i = 0; i < 256; i++) {
sum += i * arr[i];
}
내가 이것을했지만 난 몰라 이것이 F #에서 할 수있는 최선의 방법인지 아닌지 아십시오.
let mutable sum = 0
for i in 0 .. 255 do
sum <- sum + i * arr.[i]
done
이 더 나은 방법으로이 문제를 해결하기 위해 Array.fold
또는 Array.iteri
을 사용할 수 있는지 모르겠어요.
감사합니다. 지금 바로 순서를 배우십시오. – EinsL
@LDcr'Array' 모듈은'sum'뿐만 아니라'mapi' 함수도 가지고 있습니다. 그냥 참고하시기 바랍니다 :) –
고마워요, 내가 몇 가지 테스트를했는데 코드에서 성능이 향상되었습니다. 그리고 1로 배열을 만들면 F # 방식으로 숫자 오버플로가 생깁니다. 1900 요소입니다. 내가 게시 한 평가 코드에 일부 오류가있을 수 있습니다. 가능한 경우 누군가 제발 확인하십시오. – EinsL