NOIP2004 提高组真题——津津的储蓄计划

在这里插入图片描述
测试数据太长啦,我把它给复制到这:
【样例输入1】

290
230
280
200
300
170
340
50 
90 
80 
200
60 

【样例输出1】

-7

【样例输入2】

290 
230 
280 
200 
300 
170 
330 
50 
90 
80 
200 
60 

【样例输出2】

1570

代码如下所示:

//Author:PanDaoxi
#include <iostream>
using namespace std;
int main(){
    
    
	int spend,money=0,submit=0;
	for(int i=1;i<=12;i++){
    
    
		cin>>spend;
		money=money+300-spend;
		if(money<0){
    
    
			cout<<"-"<<i<<endl;
			return 0;
		}
		else{
    
    
			submit+=money/100;
			money%=100;
		}
	}
	cout<<(120*submit+money)<<endl;
	return 0;
} 

这样理解:

//Author:PanDaoxi
#include <iostream>
using namespace std;
int main(){
    
    
	int spend,money=0,submit=0;
	//spend=每个月花的钱
	//money=手里的零钱
	//submit=存给妈妈的钱 
	for(int i=1;i<=12;i++){
    
     //循环12个月 
		cin>>spend;
		money=money+300-spend; //计算本月过去后还剩多少钱 
		if(money<0){
    
     //如果下个月没钱了,输出、退出 
			cout<<"-"<<i<<endl;  
			return 0;
		}
		else{
    
     //还有钱的话,整百的存给妈妈,剩下的当做零钱存在自己手里 
			submit+=money/100;
			money%=100;
		}
	}
	//成功走过12月,此时100*(1+20%)=120元,存的每张100元变成120元,再加上零钱 
	cout<<(120*submit+money)<<endl;
	return 0;
} 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/PanDaoxi2020/article/details/121107782