大佬快出来吧
有1元2元5元10元50元的纸币,每个纸币至少用1张,组成总价值100,纸币总张数必须要50张。求有几种组成方法,用c写。
我现在就知道要用嵌套循环,但老是出错omo,崩溃了{:10_266:} 本帖最后由 tommyyu 于 2022-7-30 17:38 编辑
#include<stdio.h>
#include<math.h>
int main()
{
int a, b, c, d;
int count_ = 0;
//由于每张纸币至少要用一张,所以50元的可以用1~2张。又因为其他纸币也需要使用,所以50元的只能用一张。
for(int a = 1; a < 5; ++a)
for(int b = 1; b < (50-10*a)/5/*剩下来的钱数能用几张5元纸币*/; ++b)
for(int c = 1; c < ceil((50-10*a-5*b)/5); ++c)
if(10*a+5*b+2*c < 50 && a + b + c + 1 + 50 - (10*a+5*b+2*c) == 50) {count_++; /*如果这些纸币加起来不足50元的话,剩下的就可以用1元补充。*/ /*printf("1 %d %d %d %d", a, b, c, 50-(10*a+5*b+2*c));*/}
printf("%d", count_);
return 0;
}
(我感觉我写的不对,输出是0{:10_266:} ) 我感觉好像不太对啊,即使纸币数最多的情况也是1张50,1张10,1张5,1张2,剩下的全部用1,但即使这样,也只有37张纸币,到不了50张啊 题目基本上就是错的,哪来的正确答案?
题目说:每个纸币至少用1张,组成总价值100,纸币总张数必须要50张??????????
每个纸币至少用1张:50元 + 10元 + 5元 + 2元 + 1元 = 68元,差 32元,就算剩下的 32元 通通都是 1元,都不足 50张 啊,大哥!(5张 + 32张 = 37张) 我题目搞混了,没有50张的要求{:10_266:}
现在已经有点神志不清了 tommyyu 发表于 2022-7-30 17:28
(我感觉我写的不对,输出是0 )
题目错了,没有50张的要求 tommyyu 发表于 2022-7-30 17:50
我感觉好像不太对啊,即使纸币数最多的情况也是1张50,1张10,1张5,1张2,剩下的全部用1,但即使这样,也 ...
题目错了,没有50张的要求 傻眼貓咪 发表于 2022-7-30 18:00
题目基本上就是错的,哪来的正确答案?
题目说:每个纸币至少用1张,组成总价值100,纸币总张数必须要50 ...
题目错了,没有50张的要求 玉山 发表于 2022-7-31 10:22
题目错了,没有50张的要求
#include<stdio.h>
#include<math.h>
int main()
{
int a, b, c, d;
int count_ = 0;
//由于每张纸币至少要用一张,所以50元的可以用1~2张。又因为其他纸币也需要使用,所以50元的只能用一张。
for(int a = 1; a < 5; ++a)
for(int b = 1; b < (50-10*a)/5/*剩下来的钱数能用几张5元纸币*/; ++b)
for(int c = 1; c < ceil((50-10*a-5*b)/5); ++c)
if(10*a+5*b+2*c < 50) {count_++; /*如果这些纸币加起来不足50元的话,剩下的就可以用1元补充。*/ /*printf("1 %d %d %d %d", a, b, c, 50-(10*a+5*b+2*c));*/}
printf("%d", count_);
return 0;
} 新人来学习
页:
[1]