나는 아래의 공식을 기반으로, C에서 파스칼 삼각형 솔루션을 시도하고있다 :파스칼 삼각형 솔루션
#include <stdio.h>
#include <stdlib.h>
int pascalTriangle(int row, int col);
int main()
{
int row, col;
printf("Enter the row [0 to n]: ");
scanf("%i", &row);
printf("Enter the column [0 to m]: ");
scanf("%i", &col);
if(col > row) {
printf("Error: column can be less than or equal to row\n");
exit(1);
}
printf("Value = %i\n", pascalTriangle(row, col));
return 0;
}
int pascalTriangle(int row, int col)
{
int value[100];
value[0]=1;
int i=1;
if(row==0 || row==col || col==0) {
return value[0];
} else {
row=row+1;
while(i<=col) {
printf("i = %i\trow = %i\tcol = %i\n", i, row, col);
value[i]='\0';
value[i]=(value[i-1]) * ((row-i)/i);
printf("value[%i] = %i\tvalue[%i] = %i\n", i-1, value[i-1], i, value[i]);
++i;
}
return value[i-1];
}
}
:
내가 위의 공식에 따라 아래의 코드를 작성
여기에 어느 정도까지는 적절한 O/P를 제공하고 있습니다. 그러나 많은 I/P에 대해 잘못된 대답을 발견했습니다. 논리적 인 오류를 발견 할 수 없습니다. 논리적 인 오류를 발견 할 수 없습니다. 예 : - 행 = 4를 부여하십시오 & col = 2, O/P는 6이어야하지만 O/P는 4가되어야합니다.
도와주세요 !!
또한, 작성한 수식은 재귀 적이지만 반복을 사용하여 문제를 해결합니다. 재귀를 올바르게 다시 작성 했습니까? –