教材上的整元换零钱问题。有个疑惑求解答谢谢
程序代码:#include<stdio.h>
main()
{
int i, j, m, k, n;
m = 0;
for (i = 1;i <= 19;i++)
{
k = 100 - i * 5;
if (k % 2 == 1)
k = k / 2;
else k = k / 2 - 1;
{
for (j = 1;j <= k;j++)
{
n = 100 - 5 * i - 2 * j;
printf("%10d%10d%10d\n", i, j, n);
m++;
if (m % 10 == 0) printf("\n");
}
}
}
printf("\nm=%d\n", m);
}将一元分成1分,2分,5分。每种必须有一个。按理说有93,1,1的情况。但是执行出来的5分最少都有5个。请问一下这是怎么回事谢谢。








