这道题还是非常有意思的,有人肯定会说,我写这题有什么用呢,跟我工作也没有关系,即使我不会也不影响我的工作呀。。。。
前几天我看了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