2023-05-10
自我提升
0

张三的零花钱

不知道你有没有零花钱?你是如何管理⾃⼰的零花钱的?

张三总爱乱花钱。每个⽉的⽉初妈妈给张三300元钱 ,张三会预算这个⽉的花销,并且能做到实际的花销和预算相同。为了让张三学会对⾦钱的管理,妈妈提出,张三可以随时把整百的前存在她那⾥,到了12⽉31⽇,他会加上20%还给张三,也就是说,张三给妈妈的每⼀个100元,到年底都会变成120元!因此张三制定了⼀个存储计划:每个⽉的⽉初,在得到妈妈给的零花钱后,如果他预计到这个⽉的⽉末⼿中还会有多于100元或恰好100元,他就会把整百的钱存在妈妈那⾥,剩余的钱存在⾃⼰⼿⾥。⽐如11⽉初张三⼿中还有83元,妈妈留了张三300元。张三预计11⽉的花销是180元,那么他就会在妈妈那⾥存200元,⾃⼰留下183元。到了11⽉⽉末,张三⼿中会剩下3元钱。

张三发现这个存储计划的主要⻛险是,存在妈妈那⾥的钱在年末之前不能取出。有可能在某个⽉的⽉初,张三⼿中的钱加上这个⽉妈妈给的钱,不够这个⽉的预算。如果出现这种情况,张三将不得不在这个⽉省吃简⽤,压缩预算。

现在请你根据2019年1⽉到12⽉每个⽉张三的预算,判断会不会出现这种情况。如果储蓄计划实施过程中会出现某个⽉钱不够⽤的情况,输出-x,x表⽰出现这种情况的第⼀个⽉;如果不会,计算到2019年12⽉31⽇,妈妈将张三平时存的钱加上20%还给张三后,张三⼿⾥会有多少钱。

样例输⼊
240 280 200 300 120 350 80 50 270 260
样例输出
-7

样例输⼊
290 230 280 200 300 170 130 50 90 80 200 300
样例输出
1520

c#
string str = Console.ReadLine(); string[] strArray = str.Split(" "); int[] budget = new int[strArray.Length]; for (int j = 0; j < strArray.Length; j++) { int n = Convert.ToInt32(strArray[j]); budget[j] = n; } //获得一组数字 int self = 0; //自己的 int mom = 0; //m妈妈给的 int i = 0; //哪一个月 int tmp = 0; //预算 for (i = 0; i < 12; i++) //0-11 i+1 { //本月一共有多少300+self //预算budget[i] tmp = 300 + self - budget[i]; //剩余的钱 280/100 = 2*100 =200 if (tmp < 0) { //i+1 break; } //整百的 mom += (tmp / 100)*100; self = tmp % 100; } if (tmp < 0) { Console.WriteLine("-" + (i + 1)); } else { self = self + (int)(mom * 1.2); Console.WriteLine(self); }