专栏文章

题解:P1089 [NOIP 2004 提高组] 津津的储蓄计划

P1089题解参与者 5已保存评论 4

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
4 条
当前快照
1 份
快照标识符
@miq7hdjz
此快照首次捕获于
2025/12/04 00:13
3 个月前
此快照最后确认于
2025/12/04 00:13
3 个月前
查看原文

题目分析

简单的模拟题,按照题意模拟津津的操作就行了。
什么是津津的操作?就是津津每个月会得到 300300 元,并且会花掉一些钱,花掉的钱如果超过本月所得的 300300 元钱时,输出这个月是几月。假如没有一个月花的钱超过本月所得的 300300 元钱,那么如果其积累的剩余钱大于 100100 元,那么津津会将他手中的钱整百的给妈妈,年底妈妈会将津津存的钱加上 20%20\% 还给津津,求年底津津会有多少钱。
模拟每个月的存钱,并减去花掉的钱,假如这个月的钱小于 00,那么直接输出这个月的月份,打上一个标记,终止循环。假如没有小于 00,继续程序,将剩下的钱加入到剩下的总钱数中,当总钱数大于 100100,将整百的钱给存到 mommom 函数中,接着将剩下的总钱数减去刚刚存的钱数。
最后看是否打上标记,没有打上的话输出加上利息的存的钱与原本剩下的钱的和。

CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
	int money=0,cos,mom=0;//初始化 
	bool flag=true;//初始化 
	for(int i=1;i<=12;i++)//1~12月 
	{
		money+=300;//每个月给个300元 
		cin>>cos;//这里不是三角函数而是每个月花费的钱(っ °Д °;)っ! 
		money-=cos;//每个月剩余 
		if(money<0)//钱不够了 
		{
			cout<<"-"<<i;//输出月份 
			flag=false;//做标记 接着不用输出了 
			break;
		}
		if(money/100>0)//能存钱 
		{
		mom+=(money/100)*100;//津津的钱存给妈妈 
		money-=(money/100)*100;	//减去上交的钱就是剩下的钱 
		}
	}
	if(flag)//没有一个月花超过300元 
	{
	mom*=1.2;//加上20% 
	cout<<mom+money<<" ";//记得算上津津剩下的钱 
	}
	return 0;
}

评论

4 条评论,欢迎与作者交流。

正在加载评论...