Red de conocimiento informático - Conocimiento de Internet de las cosas - Convierta 100 yuanes en 10 yuanes, 5 yuanes y 1 yuan, y programe para encontrar diferentes números de intercambio. Se requiere que cada método de intercambio contenga 10 yuanes, 5 yuanes y 1 yuan.

Convierta 100 yuanes en 10 yuanes, 5 yuanes y 1 yuan, y programe para encontrar diferentes números de intercambio. Se requiere que cada método de intercambio contenga 10 yuanes, 5 yuanes y 1 yuan.

#include "stdio.h"

int main()

{

int i;//Número de hojas de 10 yuanes

int j;//Número de hojas de 5 yuanes

int k;//Número de hojas de 1 yuan

int sum=100;

int p;

p=0;

for (i=1;i<=10;i++)

{

para (j=1;j<=20;j++)

{

para(k=1;k<=100;k++)

{

if(i*1j*5+k*1==suma)

{

printf("%d %d % d\n", i,j,k);

p=p+1;

}

}

}

}

printf("***Total: %d combinaciones",p);

return 0;

}

Otro algoritmo, un poco más eficiente. ¿Puede el valor nominal y la suma?

#include "stdio.h"

int main()

{

int i;//Número de hojas de 10 yuanes

int j;//Número de hojas de 5 yuanes

int k;//Número de hojas de 1 yuan

int Y1, Y2, Y3;

int suma=100;

int p;

p=0;

Y1=10;

Y2=5;

Y3=1;

para (i=1;i

{

for(j =1;j<=sum/Y2;j++)

{

if(((suma-(i*Y1+j*Y2)))> 0)&((suma -(i*Y1+j*Y2))%Y3==0))

{

k=(suma-(i*Y1+j *Y2))/Y3 ;

printf("%d %d %d\n",i,j,k);

p=p+1;

}

}

}

printf("***Total: %d combinaciones",p);

devuelve 0;

}