【题目描述】
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。
为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。
例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。
现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。
【输入】
包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。
【输出】
只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。
【输入样例】
290
230
280
200
300
170
340
50
90
80
200
60
【输出样例】
-7
【提示】
【[样例2】
输入:
290
230
280
200
300
170
330
50
90
80
200
60
输出:
1580
【代码】
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int i,n,s=0,m=0,c=0;
for(i=1;i<=12;i++)
{
cin>>n;
s+=300;
if(n>s)
{
cout<<"-"<<i;
break;
}
s=s-n;
if(s>100)
{
m=s/100*100;
s=s-m;
c+=m;
}
}
if(i>12)
{
double r=c*1.2+s;
printf("%g",r);
}
return 0;
}
本文来自投稿,不代表本站立场,如若转载,请注明出处:

每月预算和花销一模一样?我咋就不信呢,光这一点就比存钱难多了。
这题坑就坑在“整百”两个字,我一开始以为113块能存100,剩13,结果看代码发现还得看月初结余加300够不够花。样例2算出来1580,自己模拟了一遍才搞懂,利息是最后一次性给的,不是每个月都给。
这题说实话挺有意思,但我也真服了,津津她妈给20%利息?一年20%啊卧槽,这他妈比我余额宝强多了,我小时候压岁钱存在我妈那,说好长大给我,结果现在连影儿都没了。津津这储蓄计划核心不就是让小孩把钱交上去吗?妈妈拿去做理财还倒贴20%,这逻辑放到现在简直离谱,搁现实中我直接每个月全存进去,年底白赚20%不香吗?但题目它不让,规则是“整百的钱存”,比如手里剩183,你只能存100,剩下83自己攥着。这设计挺恶心,零钱不是钱啊?最后算总额还得算上手里的零钱。 第二组样例1580我手算了一遍,发现确实没毛病。每个月先加300再扣预算,然后看剩多少,够100就存个整百。比如3月剩100整,存100,手上0;4月又剩100,再存100;到6月剩130,存100手上30。这样一年下来存款总共1300,妈妈加20%变1560,再加上12月手上剩的20,正好1580。妙啊,它把加利息这个事放在最后,而且只对存款加,手上的散钱不加息,所以你要是平时多留零钱反而亏了,正确策略是把能存的整百全存了,手上的零钱越少越好。可惜题目里花销是定死的,没得选。 再说第一组样例,输出-7,就是7月钱不够了。前几个月折腾下来,到7月初只有30块,加上妈妈给300,总共330,但预算340,差了10块。它这个判断是“第一个月出现不够”,直接输出负数,后面就不用算了。这个逻辑倒是很直白,但有个坑:它判的是“月初给完钱减预算后会不会变负”,而不是看存款。哪怕你存款有好几千,只要当月现金流断了,照样算你破产。这就很反直觉,你妈那儿存着钱呢,先借点不就完了?可题目就是不让你用,必须按预算走,这属于机械模拟了。 我觉得这题最烦人的是,它要求实际花销和预算完全相同,哪有小孩能做到啊?我小时候每个月零花钱三天花完,天天蹭同学辣条。津津这种神仙预算能力,长大了不是会计就是算法工程师。不过作为一道编程题,它确实考了模拟和取整的逻辑,尤其是“整百存钱”这个操作,用整除就行。当年我写这题还翻过车,忘了把手中的零钱加到年末总额里,结果第二组样例算出1580? 我算出1560,少加20,调了半天才发现12月剩的20没算进去,真服了。反正这种题就是细节多,一个不留神就白给。
@归途605
这20%利息我tm笑了,一年百分之二十啊卧槽,我余额宝现在一万块一天才五毛钱,算下来年化一点几,津津她妈这直接翻十倍还拐弯,她家是开银行的还是印钱的?我小时候压岁钱放我妈那,她拍胸脯说给我存着,等长大了连本带利还我,结果我长大问她要,她说早拿去给我交学费了,学费你上完了还得还我?真服了,就这还理财呢,我干脆认津津她妈当干妈得了,每个月工资全交给她,年底白赚两成,不比我在工地板砖强? 再说那个整百存储的规则,我也真是服了。剩183只能存100,那83算什么?算空气?你说留着零钱,下个月加300又扣预算,零钱越攒越多,但每次还是只整百整百存,那些零钱就一直躺手里,一分利息都不给。这样搞下来,年底最后算总额还得把手里的零钱加进去,那不废话吗?零钱也是钱啊,可它没享受到20%的待遇啊!这设计得跟超市找零似的,非要凑个整,剩下的零头让你攥着,攥一年攥出感情来了是吧? 第二组样例1580我拿计算器按了半天,确实没毛病,但过程越算越来气。你比如一月份预算低,剩得多,整百存进去,手上留个尾数。二月份预算高,可能剩得少,不够存,那上个月的尾数接着攒。三月突然预算又低,加上三百又够整百了,再存一笔。这哪是什么储蓄计划啊,这整个就是猜谜游戏,你永远不知道下个月预算多少,完全没法规划。每个月三百块固定生活费,但支出忽高忽低,跟坐过山车似的,津津她妈是不是故意搞个波动预算训练她?要是预算都跟一月那样低,她早发财了。 说实话,我觉得这题逻辑放现实中简直离谱。你想想,哪有妈妈给小孩20%年利息的?银行都不敢这么玩,除非是非法集资。如果真有这种好事,我直接把钱全塞给她妈,还留什么零钱?手上一分钱不剩,天天去学校蹭同学午饭,年底直接暴富。但题目偏偏不让你全存,非要你“整百”存,剩个83你只能干瞪眼。这83要是在余额宝里还能生个几分钱,搁在她手里纯躺尸,你说恶心不恶心。 我小时候也有个存钱罐,小猪那种,塞了一年硬币,沉甸甸的,我美滋滋想着能买多少包辣条。结果我妈说帮我保管,第二天就给我换成一沓皱巴巴的票子,说“一样多”。我当时太小还觉得挺划算,后来才知道她把我硬币拿去坐公交了,票子是她卖废品攒的。这tm就是我的储蓄计划!所以我一看到津津她妈,心里那个羡慕啊,人家懂20%利息,我我妈就知道回收我的硬币还倒扣手续费。 但话说回来,这题出得也不是完全没道理。你换个角度想,人家就是想让小孩学会算账,二十年前写这题的时候,一年期定期存款利率可能真有百分之十几?我记得零几年那阵子利率挺高的,三年期定存好像有百分之五点多,但20%还是过分了。也许是出题人拍脑袋写的,或者想让孩子好算数?百分之二十确实方便口算,存一百得二十,存两百得四十,算起来快。要是写2%,小孩算半天还得用小数,那这题就变成折磨王了。所以20%可能是为了教学方便,不是真让你信。 可我还是不服,你要教学方便你写成10%行不行?存一百得十块,也好算啊。非要整20%,搞得跟高利贷似的。我寻思津津她妈是不是在放贷啊?她给津津20%,然后拿这些钱去借给别人40%,中间吃差价?那这题应该改名叫《津津的非法金融活动启蒙》才对。教小孩从小就会套利,长大还得了?不过也说不定,现在P2P爆雷这么多,小时候学点风险意识,知道高收益背后有坑,虽然出题人没想这么多。 我又手算了一遍第二组样例,算到9月份的时候差点把自己绕晕。你发现没有,每个月先加300,然后扣掉当月“必须花的钱”,剩下的才轮得到存储。那个必须花的钱是题目给死的,不是津津自己决定的。这就很坑了,如果预算太高,比如某个月花560,那300加上零头还不够,还得倒贴?不对,我看题目好像每个月预算都不超过300?那津津每个月都能剩下点?那她存什么?她直接把所有钱都交出去不就完了?但规则要求只能存整百,所以每个月底都被迫留一堆零钱,手里揣着一把零票,看着它贬值,这滋味太难受了。 我记得我上大学那会儿,每个月生活费一千,我妈也是按月打我卡上,但我从来没想过存什么整百,都是花到月底剩多少是多少。有一学期我特意省吃俭用,每个月月底剩二百多,我就去银行存定期,结果存了六个月,到期利息才十几块钱,还不够我吃顿麻辣烫。你再看人家津津,每月存个三百,年底光利息就两百多,顶我半年利息。这差距让人想骂街。出题人是不是没存过钱?还是说他生活在平行世界,那里银行利率二十个点,物价还跟现在一样? 再说这题目名字,《津津的储蓄计划》,但计划到底是谁定的?每个月给300是固定的,必须花的钱也是固定的,那津津能做的就只有把剩下的钱拿去存?这不叫储蓄计划,这叫强制储蓄,还是妈妈指定的计划。津津自己一点主动权没有。她要是能自己决定存多少,肯定把300全存了,然后靠预算里剩下的钱过日子?但预算是必须要花的,可能包括吃饭坐车买文具,省不了。所以这储蓄计划其实就是“你把零头揣兜里,整钱交给我,我给你20%利息”。说白了就是妈妈设了个局,让小孩心甘情愿上交大额钞票,然后给你点甜头。现实中的妈可没这么善良,她们直接一句“妈先替你存着”,然后就没有然后了。 你原评论里说“这设计挺恶心,零钱不是钱啊”,我特别有同感。零钱怎么不是钱了?你拿一百块钱去超市买瓶水,找你的九块钱也是钱啊,你不能说因为它是零钱就当垃圾扔了吧。但题目里的津津就挺惨,她每个月辛辛苦苦攥着那些零钱,到年底结算时加进总资产,可这些零钱从来没享受过利息,相当于她白白损失了一年的投资收益。这事儿要放我身上,我肯定不干。我宁愿每个月找同学借点整钱,把自己的零钱凑成一百存进去,也不让一分钱闲着。不过这样算来算去,可能最后反而亏了,因为你得求人,还得欠人情。 说到这,我突然想到一个bug,题目里说“整百的钱存”,那如果某个月剩余刚好是250,你能存200,剩下50。但你要是能跟别人借50,凑成300存进去,那多存100,年底就多20利息,借那50的成本就是你欠人一人情。如果每个月都这么借,最后你的存本会多很多,利息也多,但人情债没法量化。这题要是允许借债,津津的收益还能再上一截。可题目没这么写,它就是个纯理想化模型,就像课本上的小明和小红,从相遇开始就没算过堵车和尿急。 我甚至怀疑出题人故意把利息设成20%是为了让答案更漂亮。你想想,如果利率是整数,计算过程就简单,数字也好记。第二组样例算出1580,这个数字挺整,我猜就是设计好的。要是利率换成一个奇怪的数,比如3.7%,那手算肯定疯掉。所以这题本质上就是个算术练习,没必要较真现实利率。但作为看热闹的人,我还是想嘴贱一句:20%的年利率,放到今天,比很多小贷公司的借款利率还高,津津她妈这是倒贴钱做公益啊,还是说她把钱投了比特币?那年头比特币还没影呢。 你提到“搁现实中我直接每个月全存进去,年底白赚20%”,我觉得你有点天真。现实中就算真有这么个妈,她给你20%利息,你全存进去,到年底她突然跟你说:“本金不给了,利息给你打两百,算是分红。”你找谁说理去?亲情绑架懂不懂?我妈当年就是这种套路。我压岁钱攒了五千,她说借去买房,说以后还我一万,结果房价涨了十倍,她跟我说“房子不就是给你买的吗”,我一看房产证还真写我名,但那是她买给我弟的。算了,不说了,一提这事我就心梗。 这题要是真拿今天的标准来评判,那就一个词:魔幻。一年20%,还得每个月算预算,还得凑整百,这哪是给小孩的储蓄计划,分明是给成年人设计的庞氏骗局入门教材。但咱们又不能说它错,因为题目里就是这么规定的,你只能照做。就像我家楼下的煎饼摊,说买五送一,我买了五个,它送了我一个,但那个送的煎饼特别小,糊弄谁呢?规则它也没写清楚,但你就得认。 我试着按第二组样例的节奏,自己编了个第一组的情况,算到一半脑子就炸了。每个月加三百,扣掉预算,剩下的看能不能凑整百。比如一月剩了380,你存300,留80。二月预算高,加了300就剩不了多少,可能不够100,那80继续留着。三月又剩了260,你心上心想着终于又能存200了,结果还得把之前的80加上,够280?不对,存整百是只取当前剩余的钱来存,还是把以前的零钱也加起来?我仔细想了想,应该只