算法实验题:硬币找钱问题(给出参考代码要求优化) 完成任务加100悬赏!

陪您去看流星雨2022-10-04 11:39:541条回答

算法实验题:硬币找钱问题(给出参考代码要求优化) 完成任务加100悬赏!
算法实验题:硬币找钱问题(给出参考代码要求优化)
★ 问题描述:
设有六种不同面值的硬币,各硬币的面值分别为5分,1角,2角,5角,1元,2元。现要用这些面值的硬币来购物和找钱。购物时可以使用的各面值的硬币个数存于数组Coin[1;6]中,商店里各面值的硬币有足够多。在一次购物中希望使用最少的硬币个数。
例如,一次购物需要付款0.55元,没有5角的硬币,只好用2*20+10+5共4枚硬币来付款。如果付出1元,找回4角5分,同样需要4枚硬币。但是如果付出1.05元(1枚1元和1枚5分),找回5角,只需要三枚硬币。这个方案用的硬币个数最少。
★ 编程任务:
对于给定的各种面值的硬币个数和付款金额,编程计算使用硬币个数最少的交易方案。
★ 数据输入:
由文件input.txt给出输入数据。每一行有6个整数和一个有2位小数的实数,分别表示可以使用的各种面值的硬币个数和付款金额。文件以6个0结束。
★ 结果输出:
将变成计算出的最少硬币个数输出到文件output.txt。结果应分行输出,每行一个数据。如果不可能完成交易,则输出“impossible”。
输入文件示例 输出文件示例
input.txt output.txt
2 4 2 2 1 0 0.95 2
2 4 2 0 1 0 0.55 3
0 0 0 0 0 0
留下邮箱~我会把参考代码发过去的~~

已提交,审核后显示!提交回复

共1条回复
b-rain 共回答了19个问题 | 采纳率89.5%
因为是01背包问题 所以不能够用贪心算法 试着用动态规划 或者 回溯法来解
1年前

相关推荐

(2012•唐山二模)执行如图所示的算法,若输出的结果y≥2,则输入的x满足(  )
(2012•唐山二模)执行如图所示的算法,若输出的结果y≥2,则输入的x满足(  )
A.x≤-l或x≥4
B.x≤-l
C.-1≤x≤4
D.x≥4
AI_QIN1年前1
czg7871 共回答了19个问题 | 采纳率94.7%
解题思路:根据流程图所示的顺序,可知该程序的作用是计算分段函数的函数值,利用此分段函数的解析式求出相应的x的即可.

由流程图可知,当x>0时,y=
x≥2,得x≥4,
当x≤0时,y=(
1
2)x≥2,得x≤-1,
综上可知输入的x的值是x≤-1或x≥4,
故选A

点评:
本题考点: 选择结构.

考点点评: 题主要考查了选择结构、流程图等基础知识,算法是新课程中的新增加的内容,也必然是新高考中的一个热点,应高度重视.

(2009•惠州模拟)给出一个算法:
(2009•惠州模拟)给出一个算法:
Inputx
Ifx≤0then
f(x)=4x
Else
f(x)=2x
Endif
Printf(x)
End
根据以上算法,可求得f(-3)+f(2)的值为______.
28103261年前1
230088 共回答了18个问题 | 采纳率100%
解题思路:先根据算法求出函数的解析式,然后根据自变量的值代入相应的解析式即可求出所求.

f(x)=

4xx≤0
2xx>0
f(-3)+f(2)=4×(-3)+4=-8
故答案为:-8

点评:
本题考点: 循环结构.

考点点评: 本题主要考查了条件语句,以及函数值的求解,同时考查了阅读算法语句的能力,属于基础题.

1+2+3+4+...+9999 简便算法
huqih1年前1
蜗的心太乱 共回答了21个问题 | 采纳率85.7%
1+9999=100002+9998=10000...一共有(9999-1)/2=4998组中间那个为5000原式=4998*10000+5000=59985000
给定一棵用链表表示的二叉树,其根结点指针为t,编写求二叉树的叶子数目的算法。
给定一棵用链表表示的二叉树,其根结点指针为t,编写求二叉树的叶子数目的算法。
算法思想:可以用一个指针栈来实现,且其最大容量为maxsize,二叉树根指针为t,以二叉链表作存储结构。若一个结点的左孩子和右孩子均为空,则为叶子结点,若左或右不为空则进栈,计算栈内元素的个数即为叶子结点数。
qinhai81621年前1
妖精无泪呵 共回答了15个问题 | 采纳率93.3%
将二叉树遍历一边即可
static int count = 0;//记录二叉树叶子节点的个数
struct Node{
int data;
Node *rigthNode;//右孩子
Node *leftNode;//左孩子
};
int fine_Node(Node * t)//Node 表示二叉树节点
{
if(t == Null)
{
return 0;
}
else if((fine_Node(t->rigthNode)+fine_Node(t->leftNode)) != 0)
{
return 1;
}
else
{
count++;
return 1;
}
}
fft是序列傅立叶变换的快速算法
雷霆炫飞龙1年前1
mayao2233 共回答了15个问题 | 采纳率100%
楼上正解.
fast Fourier transform (FFT):快速傅里叶变换
A fast Fourier transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse.
下列描述算法的流程图符号中属于判断框符号的是
246oo51年前1
逍逍逍 共回答了17个问题 | 采纳率94.1%
第四种符号是判断框符号.
32乘125乘25用简便算法怎么写。先说先采纳
ckw19841年前6
玩股快乐 共回答了67个问题 | 采纳率11.9%
32×125×25 =4×25×8×125 =100000
5.04-3.15+4.96简便算法
七枝莲1年前3
天上看海 共回答了17个问题 | 采纳率82.4%
原式=5.04+4.96--3.15
  =10--3--0.15
  =7--0.15
  =6.85.
鸡兔同笼算法张丽参加数学竞赛共10题,每错一题扣5分,每对一题得8分,张丽得54分,问做对了几题
七周年81年前3
rzjcc 共回答了15个问题 | 采纳率100%
假设全做对了,则得分:10×8=80分
比实际多了:80-54=26分
因为每把一到错题看成对题,会多算:8+5=13分
则错题有:26÷13=2道
对题有:10-2=8道
概率论里组合C的算法C有个上下标的那种,好久没用忘光了
概率论里组合C的算法C有个上下标的那种,好久没用忘光了
还有好像有个C(下标X,上标Y)=C(下标X,上标C-Y)的性质的吧?
如果有这个知识点的其他性质也请麻烦发上来吧,劳烦了,
yourtrip1年前1
Iswearthat 共回答了26个问题 | 采纳率84.6%
C表示组合方法,下标是总量,上标是选出的数量,C(下标X,上标Y)就表示从X个物体中选出Y个物体的组合方法的多少.
C(下标X,上标Y)=C(下标X,上标C-Y)是正确的
比如C(3,1)=C(3,2)=3
理解其意义,就知道这样是正确的,C(3,1)表示从3个中选1个,很明显是=3
C(3,2)表示从3个中选2个,其实就跟选另外那1个的方法数相同,所以等于C(3,1)
有不懂的继续问撒
浓度商Q与平衡常数K的算法一样吗
谭辉1年前1
雨祝 共回答了21个问题 | 采纳率90.5%
公式是一样的,但平衡常数K一定要用平衡时的数值
464-458+99+358求简便算法
wtsswh1年前0
共回答了个问题 | 采纳率
1-3份之1+12份之1+20份之1+30份之1用简便算法计算
1-3份之1+12份之1+20份之1+30份之1用简便算法计算
anruidong1年前1
文品_ 共回答了22个问题 | 采纳率90.9%
“小诺诺2号”:
1-1/3+1/12+1/20+1/30
=60/60-20/60+5/60+3/60+2/60
=50/60
=5/6
先通分,再加减,没有比这个再简便的方法了.是吗.祝好,再见 .
英语翻译首先我对大整数模幂乘的原理进行了分析,其次我用程序对该算法进了的实现,最后用实例对该算法进行了分析.会的请指点下
股海雨里星1年前1
mqgvvvv 共回答了10个问题 | 采纳率100%
First I the principle which rode to the greatly entire digital-analog power have carried on the analysis,next I used the procedure has entered to this algorithm realization,finally used the example to carry on the analysis to this algorithm.
CAD里面算面积有几种算法?
clouler111年前1
Ashcan 共回答了19个问题 | 采纳率89.5%
就一种,封闭图形后,利用查询面积命令进行查询,这种方法快捷准确,一次完成.
872-[172+43]简便算法
其颀1年前4
hskama 共回答了22个问题 | 采纳率81.8%
872-172-43=700-43=657
算24点一题至少2种算法第一9,8,3,8第二13,10,10,10这2种我都知道了 还有其他的方法么 一题至少2种算法
不怕黑夜1年前7
limit523 共回答了19个问题 | 采纳率89.5%
1,3*8*(9-8)=24
2,13+10+10/10=24
50个人里生日相同的概率是97%,但如果按他那种算法如果是367个人,概率也不是1啊,
ccid_0071年前3
xiangyi09 共回答了17个问题 | 采纳率82.4%
1-50个人里生日不同的概率=1-3%=97%
1-367个人里生日不同的概率=1-0=1
哪里有问题呢?
坐标轴中向量算法····已知向量A=(M,N) B=(Q,P)他们的夹角为60°····那么可以得出什么关系式吗?
beautifulyemimi1年前1
uevin 共回答了18个问题 | 采纳率94.4%
向量A*向量B=|A|*|B|*cos60,而,向量A*向量B=(M*Q+N*P) |A|=√(M^2+N^2),|B|=√(Q^2+P^2).则有 (M*Q+N*P)=√(M^2+N^2)*√(Q^2+P^2)*1/2.么可以得出什么关系式是:(M*Q+N*P)=√(M^2+N^2)*√(Q^2+P^2)*1/2.
98乘25加是50的简便算法【要梯等式】
塞外商人1年前2
AMIBA_rr 共回答了15个问题 | 采纳率86.7%
98×25+50
=98×25+25×2
=25×(98+2)
=25×100
=2500
65*45的简便算法得数和算法
tmmufz1年前1
晴天34 共回答了19个问题 | 采纳率94.7%
65*45
=(6*4+5)(5*5)
=2925
用直线将恰当词语连接起来开展 革命根据地开发 竞赛活动开辟 森林资源开启 心灵之窗简陋的 算法屋子简短的 行装简易的 文
用直线将恰当词语连接起来
开展 革命根据地
开发 竞赛活动
开辟 森林资源
开启 心灵之窗
简陋的 算法
屋子
简短的 行装
简易的 文章
雪居士1年前1
lcqqaa 共回答了15个问题 | 采纳率93.3%
开展竞赛活动
开发森林资源
开辟革命根据地
开启心灵之窗
简陋的屋子
简短的文章
简单的算法
简易的行装
105105有几个约数?(要简便算法,
红茶绿茶好喝1年前1
志康 共回答了14个问题 | 采纳率64.3%
n个
请问这道题如果限定答题时间为3分钟的话,有什么简便算法吗?
putixinjing1年前1
漫步逍遥 共回答了17个问题 | 采纳率94.1%
每执行一次x=x&(x-1),就相当于把x二进制数从右向左第一个非零数变为零.
所以循环的次数也就是x的二进制数中的非零位数.
9999对应的二进制数是10011100001111,有8个1(不为0)所以循环8次,返回8
什么是算法 用计算机解题时起什么作用
haidao0601年前1
心好累235108628 共回答了20个问题 | 采纳率95%
算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤.或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题.
计算机解题时就相当于你的思路,知道怎么去解决问题,剩下的只有如何用代码表达出来而已
三十一乘以一百五十八分之六十七加上一百六十七乘以一百五十八分之一百二十七 (简便算法,)
西雨卡普1年前1
某人春 共回答了17个问题 | 采纳率88.2%
31乘67/158+167乘127/158
=31乘67/158+127乘167/158 (把127和167位置调换)
=31乘67/158+127乘67/158 +127乘100/158 (167拆成67+100)
=158乘67/158 +127乘100/158 (31和127合并刚好是158)
=67+127乘50/79 (100和158约分)
=67+50+1400/79
=117 +17+57/79
=134+57/79
七分之四×2+七分之五X4 怎么简便算法?
hahadiyi1年前2
zfyzfyzfy 共回答了14个问题 | 采纳率100%
七分之四×2+七分之五X4
=七分之四×2+七分之四X5
=七分之四×(2+5)
=七分之四×7
=4
如何用简便算法算49X49+49X(40+6)X25
jyq10681年前1
bobo0o 共回答了18个问题 | 采纳率94.4%
49X(49+(40+6)X25)
=49X(25X2-1+(40+6)X25)
=49X(25X(2+40+6)-1)
=49X(1200-1)
=58800-49
=58751
不知到符合不符合你们题目要求
用DDA画线算法编写一个画一条一个象素宽的直线,要是画三个像素怎么改程序
用DDA画线算法编写一个画一条一个象素宽的直线,要是画三个像素怎么改程序
dda_line (x1,y1,x2,y2,c)
int x1,y1,x2,y2,c;
{
float delta_x,delta_y,x,y;
int dx,dy,steps,k;
dx=x2-x1;
dy=y2-y1;
if (abs(dx)>abs(dy)) steps=abs(dx);
else steps=abs (dy);
delta_x=(float)dx / (float)steps;
delta_y=(float)dy / (float)steps;
x=x1;
y=y1;
for (k=1; k
wxk3371年前1
vikyxuying 共回答了24个问题 | 采纳率87.5%
可以画线 g.drawline(x1,y1,x1,y1); 也就是画一个象素的线至于你说的算法我就不知道了 DDA用来画线而不是一个像素点.当然因为其算法肯定要
计算:(1+1/2)×(1+1/3)+(1+1/4)+.+(1+1/9)×(1+1/10)的简便算法!
计算:(1+1/2)×(1+1/3)+(1+1/4)+.+(1+1/9)×(1+1/10)的简便算法!
还有:3.3*6.7+0.67*67!
duronma1年前2
yhbjxww 共回答了16个问题 | 采纳率93.8%
(1+1/2)×(1+1/3)+(1+1/4)+.+(1+1/9)×(1+1/10)=3/2 × 4/3 × 5/4 × ... × 11/10 = 11/2 = 5.5
3.3*6.7+0.67*67 = 0.33×67+0.67×67=(0.33+0.67)×67=67
短作业优先算法 给定一批作业J1,J2,J3,J4,……Jn,其运行时间分别为T1,T2,T3,T4,……Tn,假定这些
短作业优先算法
给定一批作业J1,J2,J3,J4,……Jn,其运行时间分别为T1,T2,T3,T4,……Tn,假定这些作业时同时到达的.在一台CPU上单道处理.证明:按最短作业优先算法平均周转时间最少.
whlchtsa1年前1
sunqinsunny 共回答了24个问题 | 采纳率70.8%
试试反证法
求写一个简单算法,.算1000的阶乘有多少个零
88wht881年前1
darenjia 共回答了11个问题 | 采纳率100%
如果你说的是结果后面跟了多少个零,思路是用一个循环从1走到1000.
里面再套一个循环,整出10一次累积1,结果再除10如果能整出再累积1,随时不能整除就结束.进行外部循环下一项.
367+336+365+367+369+371 简便算法
49235661年前2
狼or虫 共回答了18个问题 | 采纳率77.8%
367+336+365+367+369+371
=(367+367+336)+(369+371)
=(734+336)+740
=1070+740
=1810
急,急,急,数学逻辑推理题,12.13.45.126.190.()括号中要填上什么数呢!顺便说明下算法,
gtmjj1年前2
watina 共回答了17个问题 | 采纳率70.6%
为215
13=12+1^6
45=13+2^5
126=45+3^4
190=126+4^3
215=190+5^2
12.5×2.5×0.32 88×1.25 两道题的简便算法
抱抱团1年前3
白玉汤75 共回答了12个问题 | 采纳率100%
=(12.5×0.8)×(2.5×0.4)
=10×1
=10
88×125
=11×(8×125)
=11×1000
=11000
1/2+1/4+1/8+1/16+1/34=的简便算法,.
我将我心向明月1年前3
若若心酸 共回答了14个问题 | 采纳率92.9%
题错了吧.应该是:1/2+1/4+1/8+1/16+1/32.一般这样出题
若是:1/2+1/4+1/8+1/16+1/34
=1-1/2+1/2-1/4+1/4-1/8+1/8-1/16+1/34
=1--1/16+1/34
=15/16+1/34
=263/272
若是:1/2+1/4+1/8+1/16+1/32
=1-1/2+1/2-1/4+1/4-1/8+1/8-1/16+1/16-1/32
=1-1/32
=31/32
整数按百分比分成几份之后取整算法,要保证分成的几份取整之和与原来的整数相等,
夜羽1年前1
老虎要发威 共回答了14个问题 | 采纳率85.7%
啥意思?
怎么都是这样问问题的.
加起来等于以前啊,简单,最后一份用原值减掉分出去的数字就是了.
比方7/3=2.
7=2+2+3.
百分比同理.
设计一个算法,求过点M(-2,-1),N(2,3)的直线与两坐标轴围成的三角形面积
hoho3121年前1
lyg2654 共回答了22个问题 | 采纳率100%
1×1÷2=0.5
直线方程y=x+1,写出求该直线与坐标轴所围成的三角形的面积的一个算法
直线方程y=x+1,写出求该直线与坐标轴所围成的三角形的面积的一个算法
那个算法,也就是要能弄成程序框图的那种,要有第一步,第二步什么之类的,不用画框图,只要写步骤就行了
波糖1年前1
冰淇淋的舞蹈 共回答了18个问题 | 采纳率88.9%
(0,1)(-1 0)(0 0)三点,面积等于1/2
2的20次方的简便算法?
矿泉水11年前6
要你的我 共回答了21个问题 | 采纳率85.7%
2^20=2^10*2^10=1024*1024(这是常识,就好像Pie=3.14一样,得记住)=(1000+24)^2=1000^2+2*1000*24+24^2
=1000000+48000+4*144(12^=144,也是常识,得记住)
=1048576
要最简单快捷的算法!已知直角三角形斜边长235 要另外2条边的长度!同上已知斜边长175 要另外两条边 还有也是已知斜边
要最简单快捷的算法!已知直角三角形斜边长235 要另外2条边的长度!同上已知斜边长175 要另外两条边 还有也是已知斜边245 求两边 有简单一点的算法更好哈!
汗颜!忘了好象是一个直径470 255 350 的园分别是几等分470是6等分 350是12等分 490是6等分 求园的中心点到各个点的距离 应该是90 度2 2个45度吧!
蹬三轮uu1年前3
整理思绪 共回答了15个问题 | 采纳率86.7%
你题目错了吧
这样有无穷多解的
x^2+y^2=235 不好解
13.9*9.9+1.39的简便算法是什么
wukong_sun1年前1
opl125823 共回答了18个问题 | 采纳率94.4%
13.9*(9.9+0.1)=139
串行算法改成并行算法#include #include using namespace std; //设置全局数组——牛
串行算法改成并行算法
#include
#include
using namespace std;
//设置全局数组——牛顿 科特斯公式系数表
double C[6][7]={{1.0/2,1.0/2},{1.0/6,4.0/6,1.0/6},{1.0/8,3.0/8,3.0/8,1.0/8},
{7.0/90,16.0/45,2.0/15,16.0/45,7.0/90},
{19.0/288,25.0/96,25.0/144,25.0/144,25.0/96,19.0/188},
{41.0/840,9.0/35,9.0/280,34.0/105,9.0/280,9.0/35,41.0/840}};
int main()
{
double a=0.0,b=0.0,Cotes=0.0;
int n=0;
coutb;
cout
canyonangel1年前1
香雪兰2030 共回答了11个问题 | 采纳率81.8%
#include "stdafx.h"#include#include#include #include #includeusing namespace std; //设置全局数组——牛顿 科特斯公式系数表 double C[6][7]={{1.0/2,1.0/2},{1.0/6,4.0/6,1.0/6},{1.0/8,3.0/8,3.0/8,1.0/8},{7...
求567与405的最小公倍数是多少啊?具体算法写一下 谢谢哈
naikou1年前1
隔着窗帘 共回答了23个问题 | 采纳率91.3%
567=3*3*3*3*7
405=5*3*3*3*3
有四个3是一样的 这四个3只乘一次
567和405的最小公倍数=3*3*3*3*7*5=2835
简便算法,7.2*2.4+15*2.8+6*2.8
zh781667931年前3
sailvi 共回答了19个问题 | 采纳率89.5%
原式=7.2*2.4+(15+6)*2.8
=7.2*2.4+21*2.8
=1.2*14.4+1.2*49
=1.2*(14.4+49)
=1.2*63.4
=76.08
123456789乘以123456789有没有简便算法?
juandoo1年前1
文敏 共回答了25个问题 | 采纳率88%
100000000×100000000=
20000000×20000000=
3000000×3000000=
400000×400000=
50000×50000=
6000×6000=
700×700=
80×80=
9×9=
再把积相加.
1的平方+2的平方+3的平方+4的平方……+99的平方=多少,要简便算法,写清楚
真诚做音乐1年前3
hdwhf 共回答了18个问题 | 采纳率88.9%
如果使用算术方法可以推导出来:
我们知道 (k + 1)^3 - k^3 = 3k^2 + 3k + 1
(1 + 1)^3 - 1^2 = 3*1^2 + 3*1 + 1
(2 + 1)^3 - 2^3 = 3*2^2 + 3*2 + 1
(3 + 1)^3 - 3^3 = 3*3^2 + 3*3 + 1
.
(n + 1)^3 - n^3 = 3*n^2 + 3*n + 1
以上相加得到:
(n + 1)^3 - 1 = 3*Sn + 3*n(n + 1)/2 + n ... 此处引用:1 + 2 + 3 + . + n = n(n + 1)/2
整理化简即可得到:
Sn = 1^2 + 2^2 + 3^2 + ... + n^2 = n(n + 1)(2n + 1)/6
则1的平方+2的平方+3的平方+4的平方……+99的平方
=1/6*99*(99+1)*(99*2+1)
=1/6*99*100*199
=328350
一道数学题(二元一次方程),玲一种算法,求解释.
一道数学题(二元一次方程),玲一种算法,求解释.
题目是:兔子和鸡加一起总共有15只,两者的脚总共有40只,问兔子和鸡各多少只?
要是用二元一次方程算大家应该都知道怎么算,但关键是下面这种算法答案也是对的但是我就是看不懂.
假设兔子和鸡都训练有素,吹一声口哨他们就各自抬起一只脚,第一声口哨之后,兔子和鸡各抬起一只脚之后就是40-15=25,剩25只脚,然后再吹一声口哨就是25-15=10,鸡呢,两只脚都抬了起来所以站不住了一屁股做了下来,剩下的10只脚全是兔子的!所以10除以2等于5.算出来兔子有5只,鸡10只. 这种算法很无语啊,让二元一次方程情何以堪啊!? 不知道是纯属瞎掰还是真正的科学!求解释.
平梅1年前1
sabergemini 共回答了13个问题 | 采纳率100%
当然是对的,这只是一种思路,记得小学没学方程时,不都是用各种思路解题的么,有时候比设方程要简单
兔子和鸡加一起总共有15只,鸡是两只脚,兔子四只脚,所以15*2=30,就是所有动物的两只脚,用40-30就是剩下的脚,当然全是兔子的,再除以2就是兔子的数量了
感觉挺难的一道纯数学题7 7 4 4=24只可运用(+ - * ÷)使之结果等于24.位置不能变有没有算法?
论法1年前4
flower7998 共回答了14个问题 | 采纳率85.7%
不能变无解
能变的解如下
7*(4-(4/7))
(4-(4/7))*7