vineri, 14 septembrie 2018

Metoda Greedy - solutia optima (nr min de monezi)

//Metoda Greedy - solutia optima (nr min de monezi)

# include <stdio.h>;
# include <conio.h>;
# include <math.h>;

# define MAX 20

int n=9;
long int const m[MAX]={1,2,5,10,20,50,100,500,1000};
long int sum,i,x;

void main(void)
{
clrscr();

 printf("Intr suma: ");
  scanf("%ld",&sum);

//cat timp s!=0 daca m[0]!=1
for(i=n-1;i>=0;i--) //sortare
 {
  //aleg optimul
  x=floor(sum/m[i]);
  if(x)
   printf("%ld monezi de %ld\n",x,m[i]);
  sum=sum-x*m[i];
 }

getche();
}
//Ex de nr care foloseste toate tipurile de monezi?

Niciun comentariu:

Trimiteți un comentariu