سلام
1)
لطفا این 2تا تابع رو بطور جداگانه اجرا کنید و تفاوتش رو بگید.
و توضیحی مختصر از bin2 بگین چون bin1 رو میدونم با پشته هست.
مقادیر متغییر ها مثلا n=40 , k=100
2)
تابع bin2 رو چطوری تغییر بدم که از یک آرایه یک بعدی k تایی استفاده کند.
اصلا تابلو نبود که واسه طراحی الگوریتمه؟:whistle:
ضمن اینکه تین 2تا شبه کد هستن یعنی نه پاسکال نه سی که اگه همینطوری اجراش کنید قائدتا ارور خواهد داشت.
کد:
int bin1(int n,k)
{
if (n==k || k===0)
return(1);
else
return (bin(n-1,k)+bin(n-1,k-1))
}
code-2
کد:
int bin2(int n,k)
{
int[0..n][0..k]
for(i=0;i<=n;i++)
for(j=0;j<=min(i,k);j++)
if(i==j||j==0)
b[i][j]=1;
else
b[i][j]=b[i-1][j]+b[i-1][j-1];
return(b[n][k])
}