함수식 프로그래밍 사상
문제는 동적 기획 안의 동전 교환 문제다.그래서 함수식 프로그래밍의 관건은 동적 기획 문제와 같다. 귀속 관계식이다.동전을 바꾸는 문제는 그의 귀속 관계가 결코 어렵지 않다는 것을 발견했다.사용 가능한 동전이 이미 어떤 순서(큰 것부터 작은 것까지)를 배열했다고 가정하면 다음과 같은 관계가 있다. 총수를 a현금으로 n종의 동전으로 바꾸는 다른 방식의 수량은 다음과 같다.현금수 a를 첫 번째 동전을 제외한 모든 다른 동전의 다른 방식수로 바꾸어 2.현금수 a-d를 모든 종류의 동전으로 바꾸는 다른 방식의 수량, 그 중에서 d는 첫 번째 동전의 화폐가치이다
이런 방법의 정확성: 1과 2는 두 가지 분류로 볼 수 있는데 1리에는 첫 번째 동전을 사용하지 않았고 2리에는 첫 번째 동전(적어도 1종을 사용했다)을 사용했으며 1과 2는 전집으로 모든 상황을 고려했다.이와 같은 문제는 현금이 더 적거나 더 적은 종류의 동전에 대한 동일한 문제로 귀착된다.특수한 상황은 다음과 같다.만약 a가 0이라면 잔돈을 바꾸는 방식이 있다고 할 수 있다.만약 a가 0보다 작다면 0가지로 잔돈을 바꾸는 방식이라고 할 수 있다.만약 n이 0이라면 0가지로 잔돈을 바꾸는 방식이라고 할 수 있다
function count_change(amount,n){
var m = n||5;
if(amount ===0) return 1;
if(amount<0 || n===0) return 0;
return count_change(amount,m-1)+count_change(amount-value_of_currency(m),m);
}
function value_of_currency(n){
if(n===1) return 1;
if(n===2) return 5;
if(n===3) return 10;
if(n===4) return 25;
if(n===5) return 50;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.