짝수
1175 단어 귀속 학습
상호 귀속
지금까지 본 귀속 함수는 모두 자신을 직접 호출하는 것이다.대부분의 귀속 함수는 모두 이 형식에 부합되지만 사실 귀속의 정의는 더욱 광범위하다. 만약에 어떤 함수가 몇 개의 하위 함수로 세분화된다면 더욱 깊은 삽입 차원에서 귀속 호출을 응용할 수 있다.예를 들어 함수 f가 함수 g를 호출하고 함수 g가 반대로 함수 f를 호출하면 이런 함수의 호출은 여전히 귀속으로 간주된다.이런 유형의 귀속은 상호 귀속이 된다
다음은 한 수가 짝수인지 홀수인지 판단함으로써 상호작용의 귀속 응용을 보여주고 이 문제는 귀속 도약의 신뢰의 중요성을 돋보이게 한다.
먼저 홀수와 짝수에 대한 설명을 살펴보겠습니다.
코드를 통해 알 수 있듯이 코드의 실현은 위의 홀수와 짝수에 대한 설명을 완전히 바탕으로 하는 세 가지이다.처음 보았을 때, 이것은 얼마나 불가사의한가.그 밑바닥이 어떻게 이루어졌는지 탐색하려면, 비교적 적은 숫자로 대입하기만 하면, 추적 호출 검증은 OK
단순히 표면적으로 보면'정의 0은 짝수'라는 간단한 상황만으로는 이 귀환이 정확하게 작동할 수 있다는 것을 알 수 없다.그래서 단번에 알 수 없는 이런 상황에 대해 우리가 필요로 하는 것은 바로 귀환 도약의 신뢰이다. 우리가 귀환 분해가 정확하고 간단한 상황 분석이 정확하기만 하면 세부 사항을 실현할 때 걱정하지 않고 컴퓨터에 맡긴다.그렇기 때문에 돌아가는 사고방식만 파악하면 한 문제를 해결하는 것이 얼마나 간단하고 빠른지, 얼마나 충격적인지
#include
using namespace std;
bool isodd(unsigned);
bool isodd(unsigned n)
{
return !(iseven(n));
}
bool iseven(unsigned n)
{
if (n == 0)
{
return true;
}
else
{
return isodd(n-1);
}
}
int main()
{
cout << isodd(11) << endl;
return 0;
}