鱼C论坛

 找回密码
 立即注册
查看: 3208|回复: 9

大佬快出来吧

[复制链接]
发表于 2022-7-30 17:02:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有1元2元5元10元50元的纸币,每个纸币至少用1张,组成总价值100,纸币总张数必须要50张。
求有几种组成方法,用c写。
我现在就知道要用嵌套循环,但老是出错omo,崩溃了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-30 17:28:59 | 显示全部楼层
本帖最后由 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-30 17:50:54 | 显示全部楼层
我感觉好像不太对啊,即使纸币数最多的情况也是1张50,1张10,1张5,1张2,剩下的全部用1,但即使这样,也只有37张纸币,到不了50张啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-7-30 18:00:25 | 显示全部楼层
题目基本上就是的,哪来的正确答案?

题目说:每个纸币至少用1张,组成总价值100,纸币总张数必须要50张??????????

每个纸币至少用1张:50元 + 10元 + 5元 + 2元 + 1元 = 68元,差 32元,就算剩下的 32元 通通都是 1元,都不足 50张 啊,大哥!(5张 + 32张 = 37张)

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
python爱好者. + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2022-7-31 09:57:31 | 显示全部楼层
我题目搞混了,没有50张的要求
现在已经有点神志不清了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-31 10:04:04 | 显示全部楼层
tommyyu 发表于 2022-7-30 17:28
(我感觉我写的不对,输出是0 )

题目错了,没有50张的要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-31 10:15:04 | 显示全部楼层
tommyyu 发表于 2022-7-30 17:50
我感觉好像不太对啊,即使纸币数最多的情况也是1张50,1张10,1张5,1张2,剩下的全部用1,但即使这样,也 ...

题目错了,没有50张的要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-31 10:22:05 | 显示全部楼层
傻眼貓咪 发表于 2022-7-30 18:00
题目基本上就是错的,哪来的正确答案?

题目说:每个纸币至少用1张,组成总价值100,纸币总张数必须要50 ...

题目错了,没有50张的要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-31 10:32:33 | 显示全部楼层
玉山 发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-2 00:24:41 | 显示全部楼层
新人来学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 20:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表