CN107346581A - 一种多面额出钞算法 - Google Patents
一种多面额出钞算法 Download PDFInfo
- Publication number
- CN107346581A CN107346581A CN201610295171.0A CN201610295171A CN107346581A CN 107346581 A CN107346581 A CN 107346581A CN 201610295171 A CN201610295171 A CN 201610295171A CN 107346581 A CN107346581 A CN 107346581A
- Authority
- CN
- China
- Prior art keywords
- cash box
- denomination
- withdrawal
- remaining sum
- initial value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D11/00—Devices accepting coins; Devices accepting, dispensing, sorting or counting valuable papers
- G07D11/20—Controlling or monitoring the operation of devices; Data handling
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种多面额出钞算法,包括以下步骤:将N个不同面额的钞箱编号;根据面额大小将对应钞箱排序,面额较大的钞箱靠前排序,得到序号;依序号读取钞箱对应的当前张数,读取所需取款总额并将取款总额对初始值A赋值;根据初始值A对排序后序号为n的钞箱求取款张数Mn ’;计算余额,令余额Y对初始值A赋值,令序号n+1;重复步骤d,直至余额Y=0时结束流程。其优点在于,可以实现现有各种面额的灵活使用。提高了货币周转的效率,柜员机不再局限于百元面额的服务。采用了矩阵作为基础算法,确保出钞的准确性。通过该算法,不管钞箱内存放的各种面额的张数具体是多少,只要其总额不比所需数额少,即可实现取款,灵活度非常高。
Description
技术领域
本发明涉及一种出钞算法,尤其涉及一种用于自动柜员机的多面额出钞算法。
背景技术
目前市面上的自动柜员机大多仅支持100元面额的钞票出钞,不支持20元,50元等面额的零钞取款,该种缺憾对实际银行卡用户存在一些不便。一方面是,在例如需要取款550元时,在ATM机上必须取款600元,差额则需用户在使用时自行找零,带来不便;另一方面则是,银行卡内余额不足100元时,无法取款,对于一些不再继续使用的银行卡,卡内的少量余额因不足100元无法在ATM机上取款,而去银行人工取款又过于麻烦,这种卡内的少量余额何去何从变成为银行卡使用者的一种困扰。
为解决上述问题,我们需要一种可以任意金额取款支持各个面额出钞的出钞算法。
发明内容
为了解决上述技术问题,本发明目的在于提供一种多面额出钞算法。
本发明所述的一种多面额出钞算法,其特征在于,包括以下步骤:
a)、将N个不同面额的钞箱编号;
b)、根据面额大小将对应钞箱排序,面额较大的钞箱靠前排序,得到序号1~n~N;
c)、依序号读取钞箱对应的当前张数M1~Mn~MN,读取所需取款总额并将取款总额对初始值A赋值;
d)、根据初始值A对排序后序号为n的钞箱求取款张数Mn ’;
计算余额Y=A-Mn ’×对应面额,令余额Y对初始值A赋值,令序号n+1;
e)、重复步骤d,直至余额Y=0时结束流程。
所述步骤d,取款张数Mn ’由初始值A对序号n对应的钞箱面额求商得到:Mn ’=A/对应面额;当商大于当前张数Mn时,取款张数Mn ’=Mn;当商不大于当前张数Mn时,取款张数Mn ’为商。
所述步骤d计算取款张数时,序号n由1开始计数。
所述算法在上述基础上,当余额Y等于初始值A,并且序号n达到最大值N时,将序号n-1,同时将取款张数Mn ’-1;若此时取款张数Mn ’=0,则序号n进一步-1。
其优点在于,可以实现现有各种面额的灵活使用。提高了货币周转的效率,柜员机不再局限于百元面额的服务。采用了矩阵作为基础算法,确保出钞的准确性。通过该算法,不管钞箱内存放的各种面额的张数具体是多少,只要其总额不比所需数额少,即可实现取款,灵活度非常高。
附图说明
图1是本发明的算法流程图。
具体实施方式
本发明所述的一种多面额出钞算法,其工作流程如图1所示。先将数据初始化,初始化步骤包括将N个不同面额的钞箱进行编号;包括将初始值A置零。由于在柜员机使用的过程中,同一个钞箱会在清空一种面额后,有可能装入其他面额的钞票,因此同一个编号的钞箱不能保证其每次都装有固定面额的钞票,但可以确保一个钞箱内存放的面额都是相同。所以在编号后,需要对钞箱进行排序。排序依据其装有的面额大小为准,较大面额的钞箱排序靠前,例如目前最大的100元面额钞箱会得到1的序号,50元面额钞箱会得到2的序号等,面额越小,钞箱序号越大,有N个不同面额的钞箱的话,其面额最小的钞箱得到最大的序号N。
读取每个钞箱对应的当前面额张数Mn,例如1号钞箱存有X1张钞票,记为M1 =X1;n号钞箱存有X2张钞票,记为Mn
=X2;N号钞箱存有X3张钞票,记为MN
=X3等。获取用户需求的取款总金额,并且以该总金额对初始值A赋值;例如用户需要取款3456.12元,就将3456.12赋值到A,即,令A=3456.12。
根据初始值A对排序后序号为n的钞箱求出取款张数Mn ’。其中对序号为1的钞箱求出的张数记为M1 ’,对序号为n的钞箱求出的张数记为Mn ’,对最后一个序号N的钞箱求出的张数记为MN ’。该步骤对Mn ’的求值办法是将初始值A对序号n对应的钞箱面额求商,即Mn ’=A/对应面额;例如上述的A=3456.12时,求序号1对应的100元面额张数,M1 ’=3456.12/100=34;由于张数只能是整数,所以求出商,并将商向下取整,得到M1 ’=34张,即取100元面额34张。求出的张数要跟实际存储与该钞箱的实际张数做比较,如果实际张数小于求出的张数,则将求出的张数调整为实际的张数,否者求出的张数以商为准。
计算出已完成配额张数后的余额Y,余额Y=A-Mn ’×对应面额,例如上述的A=3456.12时,计算取出34张100元面额后,得到的余额Y=3456.12-34*100,得到余额Y=56.12。
计算出余额Y后将余额Y对初始值A赋值,并另序号自加一。该步骤目的在于使算法可以对各种面额依次循环处理。每次计算次一级面额的时候都以上一次处理完毕的余额Y作为初始值,序号n+1保证了序号的自动对应,而且计算取款张数时,序号n由1开始计数。然后重复步骤d,直至使余额Y为0时,判断取款成功并结束流程。
用以下实施例一充分说明上述多面额出钞方案:
设用户所需取款总额为270元;柜员机内有N=4个钞箱,对每个钞箱进行编号得到钞箱1、钞箱2、钞箱3和钞箱4,各钞箱情况如下表格:
钱箱1 | 钱箱2 | 钱箱3 | 钱箱4 | |
面额 | 20 | 10 | 50 | 100 |
张数 | 100 | 100 | 100 | 100 |
为了尽可能减少配钞张数,将钞箱根据面额从小到大排序得到序号;同时依次读取钞箱对应的当前张数M1~Mn~M4:
钱箱4 | 钱箱3 | 钱箱1 | 钱箱2 | |
序号n | 1 | 2 | 3 | 4 |
面额 | 100 | 50 | 20 | 10 |
张数Mn | 100 | 100 | 100 | 100 |
读取所需取款总额并将取款总额对初始值A赋值,使A=270。
由序号n=1开始计算取款张数M1 ’: M1 ’=270/100=2张。由于计算出的取款张数少于当前张数,M1 ’< M1,因此实际需要取款的100元面额张数为2。
计算余额Y:Y=270-2×100=70,令余额Y对初始值A赋值,即A=70,令序号自加一,即当前序号变为1+1=2。
由于余额Y不等于0,重复上述求张数步骤。
由序号n=2开始计算取款张数M2 ’: M2 ’=70/50=1张。由于计算出的取款张数少于当前张数,M2 ’< M2,因此实际需要取款的50元面额张数为1。
计算余额Y:Y=70-1×50=20,令余额Y对初始值A赋值,即A=20,令序号自加一,即当前序号变为2+1=3。
由于余额Y不等于0,重复上述求张数步骤。
由序号n=3开始计算取款张数M3 ’: M3 ’=20/20=1张。由于计算出的取款张数少于当前张数,M3 ’< M3,因此实际需要取款的20元面额张数为1。
计算余额Y:Y=20-1×20=0,令余额Y对初始值A赋值,即A=0,令序号自加一,即当前序号变为3+1=4。
由于余额Y等于0,判断配钞成功,结束流程,得到如下配钞结果:
钱箱4 | 钱箱3 | 钱箱1 | 钱箱2 | |
序号n | 1 | 2 | 3 | 4 |
面额 | 100 | 50 | 20 | 10 |
张数Mn | 100 | 100 | 100 | 100 |
取款张数Mn ’ | 2 | 1 | 1 |
M1 ’=2,M2 ’=1,M3 ’=1;即取款270元得到100元面额2张、50元面额1张和20元面额1张。
通过上述算法,可以实现自动柜员机多面额出钞,提高了柜员机的工作能力。
当出现某些钞箱配额不足,或者由于奇偶数分配失败等各种原因,而造成配钞失败的话,本算法还设置了自纠正调节功能。其工作流程是当余额Y等于初始值A,并且序号n达到最大值N时,将序号n-1,同时将取款张数Mn ’-1;若此时取款张数Mn ’=0,则序号n进一步-1。通过以下实施例二充分说明上述自纠正调节功能:
设用户所需取款总额为160元;柜员机内有N=3个钞箱,对每个钞箱进行编号得到钞箱1、钞箱2和钞箱3,各钞箱情况如下表格:
钱箱1 | 钱箱2 | 钱箱3 | |
面额 | 20 | 50 | 100 |
张数 | 100 | 100 | 100 |
为了尽可能减少配钞张数,将钞箱根据面额从小到大排序得到序号;同时依次读取钞箱对应的当前张数M1~Mn~M3:
钱箱3 | 钱箱2 | 钱箱1 | |
序号n | 1 | 2 | 3 |
面额 | 100 | 50 | 20 |
张数Mn | 100 | 100 | 100 |
读取所需取款总额并将取款总额对初始值A赋值,使A=160。
由序号n=1开始计算取款张数M1 ’: M1 ’=160/100=1张。由于计算出的取款张数少于当前张数,M1 ’< M1,因此实际需要取款的100元面额张数为1。
计算余额Y:Y=160-1×100=60,令余额Y对初始值A赋值,即A=60,令序号自加一,即当前序号变为1+1=2。
由于余额Y不等于0,重复上述求张数步骤。
由序号n=2开始计算取款张数M2 ’: M2 ’=60/50=1张。由于计算出的取款张数少于当前张数,M2 ’< M2,因此实际需要取款的50元面额张数为1。
计算余额Y:Y=60-1×50=10,令余额Y对初始值A赋值,即A=10,令序号自加一,即当前序号变为2+1=3。
由于余额Y不等于0,重复上述求张数步骤。
由序号n=3开始计算取款张数M3 ’: M3 ’=10/20=0张。由于计算出的取款张数少于当前张数,M3 ’< M3,因此实际需要取款的20元面额张数为0。
计算余额Y:Y=10-0×20=10,令余额Y对初始值A赋值,即A=10,令序号自加一;由于n已经达到最大值N=3,而且余额Y=初始值A,因此判断为配钞失败,启动自纠正调整功能:
将序号自减一得到n=2,同时对应的取款张数M2 ’-1。
由序号n=2开始计算取款张数M2 ’: M2 ’-1=60/50-1=0张。由于计算出的取款张数少于当前张数,M2 ’< M2,因此实际需要取款的50元面额张数为0。
计算余额Y:Y=60-0×50=60,令余额Y对初始值A赋值,即A=60,令序号自加一,即当前序号变为2+1=3。
由于余额Y不等于0,重复上述求张数步骤。
由序号n=3开始计算取款张数M3 ’: M3 ’=60/20=3张。由于计算出的取款张数少于当前张数,M3 ’< M3,因此实际需要取款的20元面额张数为3。
计算余额Y:Y=60-3×20=0,令余额Y对初始值A赋值,即A=0,令序号自加一, n已经到达最大值。
由于余额Y等于0,判断配钞成功,结束流程,得到如下配钞结果:
钱箱 | 钱箱2 | 钱箱1 | |
序号n | 1 | 2 | 3 |
面额 | 100 | 50 | 20 |
张数Mn | 100 | 100 | 100 |
取款张数Mn ’ | 1 | 0 | 3 |
M1 ’=1,M2 ’=0,M3 ’=3;即取款160元得到100元面额1张、50元面额0张和20元面额3张。
通过上述带自纠正调整功能的出钞算法,可以进一步提高柜员机的工作能力。
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
Claims (4)
1.一种多面额出钞算法,其特征在于,包括以下步骤:
a)、将N个不同面额的钞箱编号;
b)、根据面额大小将对应钞箱排序,面额较大的钞箱靠前排序,得到序号1~n~N;
c)、依序号读取钞箱对应的当前张数M1~Mn~MN,读取所需取款总额并将取款总额对初始值A赋值;
d)、根据初始值A对排序后序号为n的钞箱求取款张数Mn ’;
计算余额Y=A-Mn ’×对应面额,令余额Y对初始值A赋值,令序号n+1;
e)、重复步骤d,直至余额Y=0时结束流程。
2.根据权利要求1所述的算法,其特征在于,所述步骤d,取款张数Mn ’由初始值A对序号n对应的钞箱面额求商得到:Mn ’=A/对应面额;当商大于当前张数Mn时,取款张数Mn ’=Mn;当商不大于当前张数Mn时,取款张数Mn ’为商。
3.根据权利要求1所述的所述算法,其特征在于,所述步骤d计算取款张数时,序号n由1开始计数。
4.根据权利要求1或2或3所述的所述算法,其特征在于,当余额Y等于初始值A,并且序号n达到最大值N时,将序号n-1,同时将取款张数Mn ’-1;若此时取款张数Mn ’=0,则序号n进一步-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610295171.0A CN107346581A (zh) | 2016-05-06 | 2016-05-06 | 一种多面额出钞算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610295171.0A CN107346581A (zh) | 2016-05-06 | 2016-05-06 | 一种多面额出钞算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107346581A true CN107346581A (zh) | 2017-11-14 |
Family
ID=60253899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610295171.0A Pending CN107346581A (zh) | 2016-05-06 | 2016-05-06 | 一种多面额出钞算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107346581A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110634227A (zh) * | 2019-09-04 | 2019-12-31 | 浪潮金融信息技术有限公司 | 一种基于大额循环机实现均衡出钞的配钞方法 |
CN113192272A (zh) * | 2020-01-14 | 2021-07-30 | 深圳怡化电脑股份有限公司 | 出钞的方法、装置、终端及存储介质 |
CN113299001A (zh) * | 2021-05-17 | 2021-08-24 | 浪潮金融信息技术有限公司 | 一种自助存款的方法、系统及介质 |
CN113947836A (zh) * | 2021-10-14 | 2022-01-18 | 中电长城(长沙)信息技术有限公司 | 取款装置中多个存放不同面额钞票钞箱的等空配钞方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763684A (zh) * | 2009-12-22 | 2010-06-30 | 广州广电运通金融电子股份有限公司 | 金融自助设备配钞方法 |
CN102903177A (zh) * | 2012-10-09 | 2013-01-30 | 广州广电运通金融电子股份有限公司 | 一种金融自助设备配钞方法 |
CN102903176A (zh) * | 2012-10-09 | 2013-01-30 | 广州广电运通金融电子股份有限公司 | 一种金融自助设备配钞方法 |
US20130186729A1 (en) * | 2011-11-04 | 2013-07-25 | Wincor Nixdorf International Gmbh | Device for handling banknotes with optimized mixed storage |
CN104809826A (zh) * | 2015-04-30 | 2015-07-29 | 深圳市怡化时代科技有限公司 | 金融自助设备配钞方法 |
-
2016
- 2016-05-06 CN CN201610295171.0A patent/CN107346581A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763684A (zh) * | 2009-12-22 | 2010-06-30 | 广州广电运通金融电子股份有限公司 | 金融自助设备配钞方法 |
US20130186729A1 (en) * | 2011-11-04 | 2013-07-25 | Wincor Nixdorf International Gmbh | Device for handling banknotes with optimized mixed storage |
CN102903177A (zh) * | 2012-10-09 | 2013-01-30 | 广州广电运通金融电子股份有限公司 | 一种金融自助设备配钞方法 |
CN102903176A (zh) * | 2012-10-09 | 2013-01-30 | 广州广电运通金融电子股份有限公司 | 一种金融自助设备配钞方法 |
CN104809826A (zh) * | 2015-04-30 | 2015-07-29 | 深圳市怡化时代科技有限公司 | 金融自助设备配钞方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110634227A (zh) * | 2019-09-04 | 2019-12-31 | 浪潮金融信息技术有限公司 | 一种基于大额循环机实现均衡出钞的配钞方法 |
CN110634227B (zh) * | 2019-09-04 | 2021-11-09 | 浪潮金融信息技术有限公司 | 一种基于大额循环机实现均衡出钞的配钞方法 |
CN113192272A (zh) * | 2020-01-14 | 2021-07-30 | 深圳怡化电脑股份有限公司 | 出钞的方法、装置、终端及存储介质 |
CN113192272B (zh) * | 2020-01-14 | 2024-05-10 | 深圳怡化电脑股份有限公司 | 出钞的方法、装置、终端及存储介质 |
CN113299001A (zh) * | 2021-05-17 | 2021-08-24 | 浪潮金融信息技术有限公司 | 一种自助存款的方法、系统及介质 |
CN113947836A (zh) * | 2021-10-14 | 2022-01-18 | 中电长城(长沙)信息技术有限公司 | 取款装置中多个存放不同面额钞票钞箱的等空配钞方法 |
CN113947836B (zh) * | 2021-10-14 | 2024-04-23 | 中电长城(长沙)信息技术有限公司 | 取款装置中多个存放不同面额钞票钞箱的等空配钞方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346581A (zh) | 一种多面额出钞算法 | |
CN107346594B (zh) | 一种出钞算法 | |
RU2568772C2 (ru) | Способ обработки банкнот | |
US20120265337A1 (en) | Method for bank note distribution of financial self-service equipment | |
CN101908242A (zh) | 纸张类处理装置 | |
CN110634227B (zh) | 一种基于大额循环机实现均衡出钞的配钞方法 | |
EP2000989A3 (en) | Bill handling device and control method for same | |
WO2016084856A1 (ja) | 貨幣処理システム及び貨幣処理方法 | |
WO2017121350A1 (zh) | 一种具有多个相同面额钱箱的atm机存款进钞方法和装置 | |
CN110033348A (zh) | 业务数据的存储、核对方法和装置 | |
CN109801431A (zh) | 一种可支持多币种的外币自助兑换装置和方法 | |
ITMI20002248A1 (it) | Sistema di pagamento per macchine distributrici automatiche | |
JP2013109382A (ja) | 紙葉類処理装置及び紙葉類処理方法 | |
CN107346582B (zh) | 一种均衡出钞算法 | |
JP2013254349A (ja) | 紙葉類判別システム及び紙葉類判別方法 | |
CN106875548A (zh) | 存取款方法及系统 | |
WO2014013585A1 (ja) | 紙幣処理装置及び紙幣処理方法 | |
CN107484429B (zh) | 一种金融终端的出钞控制方法、系统及金融终端 | |
JP5625074B2 (ja) | 貨幣処理装置 | |
CN108109284B (zh) | 存款业务处理方法、设备及计算机可读存储介质 | |
CN114170743B (zh) | 配钞方法、装置和存储介质 | |
CN204079050U (zh) | 纸张类处理装置 | |
CN113870495B (zh) | 取款装置中多个存放不同面额钞票钞箱的等张配钞方法 | |
CN108648330B (zh) | 存取款管理方法、存取款管理装置及自助终端 | |
JP6459802B2 (ja) | 現金処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171114 |
|
RJ01 | Rejection of invention patent application after publication |