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; p>
int p;
p=0;
for (i=1;i<=10;i++)
{
para (j=1;j<=20;j++)
{
para(k=1;k<=100;k++)
{ p>
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;
} p>
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; }