void fen(int m)
{
m -= 8;
int n = m;
int count = 0;
int total = 0;
while (m)
{
m = n;
int fen5 = 1;
int fen2 = 1;
int fen1 = 1;
while (m)
{
if (m >= 5)
{
m -= 5;
fen5++;
}
else if (m >= 2)
{
m -= 2;
fen2++;
}
else if (m > 0)
{
m--;
fen1++;
}
}
total = fen5 + fen2 + fen1;
printf("fen5: %d, fen2: %d, fen1: %d, total = %d\n", fen5, fen2, fen1, total);
count++;
while (fen5 - 1)
{
if (fen5 > 1)
{
fen5--;
m = 5;
while (m)
{
if (m > 1)
{
m -= 2;
fen2++;
}
else
{
m--;
fen1++;
}
}
total = fen5 + fen2 + fen1;
printf("fen5: %d, fen2: %d, fen1: %d, total = %d\n", fen5, fen2, fen1, total);
count++;
}
}
while (fen2-1)
{
if (fen2 > 1)
{
fen2--;
m = 2;
while (m)
{
m--;
fen1++;
}
total = fen5 + fen2 + fen1;
printf("fen5: %d, fen2: %d, fen1: %d, total = %d\n", fen5, fen2, fen1, total);
count++;
}
}
printf("count = %d", count);
}
}
int main()
{
int m = 0;
printf("Enter: ");
scanf("%d", &m);
fen(m);
return 0;
}
换硬币:将一笔零钱m(大于8分,小于1元,精确到分)换成5分、2分和1分的硬币组合,要求每种硬币至少有一枚,有几种不同的换法?要求硬币面值为5分、2分和1分的舒徐输出硬币的数量。
最新推荐文章于 2024-01-19 09:35:58 发布