HERE IS THE CODE
Bottom Up Approach -
Top Down Approach -
Bottom Up Approach -
//Bottom Up approach #include<stdio.h> int solution[1000]; int min(int a,int b) { if(a<b) return a; else return b; } int find_minm_stairs(int n) { int i; for(i=1;i<=n;i++) { if(i-1>=0) solution[i]=solution[i-1]+1; if(i-2>=0) solution[i]=min(solution[i],solution[i-2]+1); if(i-3>=0) solution[i]=min(solution[i],solution[i-3]+1); } return solution[n]; } void main() { int total_stairs,minm; printf("Enter the total number of stairs\n"); scanf("%d",&total_stairs); solution[0]=0; minm=find_minm_stairs(total_stairs); printf("The minimum number of steps required are %d",
minm); }
Top Down Approach -
//Top down approach #include<stdio.h> int solution[1000]; int min(int a,int b) { if(a<b) return a; else return b; } int find_minm_stairs(int n) { if(solution[n]==-1) { if(n-1>=0) solution[n]=find_minm_stairs(n-1)+1; if(n-2>=0) solution[n]=min(solution[n],
find_minm_stairs(n-2)+1); if(n-3>=0) solution[n]=min(solution[n],
find_minm_stairs(n-3)+1); } return solution[n]; } void main() { int total_stairs,minm,i; printf("Enter the total number of stairs\n"); scanf("%d",&total_stairs); solution[0]=0; for(i=1;i<=1000;i++) solution[i]=-1; minm=find_minm_stairs(total_stairs); printf("The minimum number of steps required are %d",minm);
}
No comments:
Post a Comment