人民币换散,错误
输入任意 整币(>10元)输出兑换成 5, 2, 1元 面值的人民币方法有几种
(每种面值 至少有 1个)
输入 50
输出 106
# include <stdio.h>
int main()
{
int a,j,k,i,sum,num=0;
scanf("%d",&a);
for(j=1;j<=a;j++)
{
for(k=1;k<=a/2;k++)
{
for(i=1;i<=a/i;i++)
{
sum=i*5+k*2+j;
if(sum == a)
num++;
}
}
}
printf("%d",num);
return 0;
}
我感觉我的程序 大体的思路应该是对的,但是输出答案和正确答案不一样。程序中肯定有某些问题,但是我不知道该怎么改了。 # include <stdio.h>
int main()
{
int a,j,k,i,sum,num=0;
scanf("%d",&a);
for(j=1;j<=a;j++)
{
for(k=1;k<=a/2;k++)
{
for(i=1;i<=a/5;i++)//改成a/5就对了
{
sum=i*5+k*2+j;
if(sum == a)
num++;
}
}
}
printf("%d",num);
return 0;
}
想不出来 发表于 2015-11-18 19:29
谢谢了,原来是粗心问题,太粗心了,而且还没有察觉出来。 这个,好像还行
页:
[1]