귀속,
2531 단어 프로그래밍
귀속 알고리즘은 귀속 상황과 기저 상황 두 가지를 포함해야 한다.귀속 상황이 끝까지 변하려면 반드시 기저에 도달해야 한다.역귀함수에는 저효율 문제라는 타고난 문제가 있는데 이것은 피할 수 없는 것이다.
귀속 함수는 일반적으로 다음과 같은 주요 몇 가지 요소를 주목한다. 퇴출 조건, 매개 변수가 무엇인지, 귀환 값이 무엇인지, 국부 변수가 무엇인지, 전역 변수가 무엇인지, 언제 출력되는지, 창고가 넘치지 않는지.
예:
4
#include
using namespace std;
int mystrlen(char *buf,int N)
{
if (buf[0]==0||N==0)
return 0;
else if(N==1)
return 1;
int t = mystrlen(buf,N/2);
if(t
양휘삼각형을 구하고 순환과 귀속 대비를 구한다. 예:4
#include
using namespace std;
#define RECURSION 0
#define NO_RECURSION 1
#if RECURSION
int f(int m, int n)
{
if (1 == m)
{
return n;
}
if (1 == n)
{
return m;
}
return f(m - 1, n) + f(m, n - 1);
}
#endif
#if NO_RECURSION
int f(int m, int n)
{
int a[100][100];
for (int i = 0; i != m; ++i)
a[i][0] = i + 1;
for (int i = 0; i != n; ++i)
a[0][i] = i + 1;
for (int i = 1; i != m; ++i)
for (int j = 1; j != n; ++j)
a[i][j] = a[i - 1][j] + a[i][j - 1];
return a[m - 1][n - 1];
}
#endif
int main()
{
cout << f(5, 5) << endl;
system("pause");
return 0;
}
zigzag 배열을 구하고 순환을 이용하여 다음과 같이 한다.#include
#include
using namespace std;
int main()
{
int N;
int s, i, j;
int squa;
cin >> N;
int **a = (int **)malloc(N * sizeof(int));
if (a == NULL)
return 0;
for (i = 0; i < N; i++)
{
if ((a[i] = (int *)malloc(N * sizeof(int))) == NULL)
{
while (--i >= 0)
free(a[i]);
free(a);
return 0;
}
}
squa = N*N;
for (i = 0; i < N; ++i)
{
for (j = 0; j < N; j++)
{
s = i + j;
if (s < N)
a[i][j] = s*(s + 1) / 2 + (((i + j) % 2 == 0) ? i : j);
else
{
s = (N - 1 - i) + (N - 1 - j);
a[i][j] = squa - s*(s + 1) / 2 - (N - (((i + j) % 2 == 0) ? i : j));
}
}
}
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
printf("%6d", a[i][j]);
printf("
");
}
system("pause");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Rails】자신의 활동 일람을 표시한다【통지 기능의 응용】안녕하세요! 고양이 조카 ( )라고합니다. 요 전날, 처음부터 독학으로 공부하고, 웹 서비스 「 」를 시작했습니다. 이 서비스는 다음과 같은 알림 기능을 구현합니다. 이 기능을 응용하여 자신이 「좋아요, 코멘트, 팔...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.