C ++ 零花钱问题 【态度决定一切】

这道题还是非常有意思的,有人肯定会说,我写这题有什么用呢,跟我工作也没有关系,即使我不会也不影响我的工作呀。。。。

前几天我看了b站的一个老师讲解的js的选择排序,有人就问:明明有封装好的函数可以直接调用去完成排序,为什么我还要手动封装一个函数呢?


---------------------为了提高写代码的逻辑性------------------

认真读清楚题目的意思,再一点点分析,你可以在纸上演算,然后找规律,算法就是这样实现的

【废话不多说,上代码】

我也是想了一会才做出来的,每个地方都标了注释,如有看不懂的或需要我改进的,可以在下方评论

#include <iostream> 
using namespace std;
int main()
{
	int m,k;//m为小明的零花钱  K为小明每花几元额外奖励 1元 
	int yu = 0;//每次剩余的钱 
	int flag = 0;//记录花了几次 1 元 
	int day = 0;//记录天数 
	cin >> m >> k;
	while (m > 0) {
		//从这一步直接可以看出每次的余额 
		yu = m--;
		//每做上面的一次赋值,则花了一天 
		day += 1;
		//记录花了几次 
		flag += 1;
		if(flag == k){
			//每花了 K 次,将flag = 0,并且余额 + 1元 
			flag = 0;
			m = m + 1;
		}
	} 
	cout << day;
}

例如:

输入 m=4   k=3

输出 day=5

输入 m=10  k=4

输出 day=13

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值