煤气灶---递归

链接:https://ac.nowcoder.com/acm/contest/332/B
来源:牛客网

题目描述

小j开始打工,准备赚钱买煤气灶。
第一天,小j的工资为n元,之后每天他的工资都比前一天多d元。
已知煤气灶需要m元,求小j最少工作几天才能买到煤气灶。

输入描述:

四个整数 n,m,d,x
分别表示小j第一天的工资,煤气灶的价格,工资每天的增长量,答案不超过x

输出描述:

一个数表示答案
示例1

输入

复制
10 100 20 100

输出

复制
4

说明

10+30+50+70>=100



备注:

0n,d109,n+d>00≤n,d≤109,n+d>0
1m10181≤m≤1018
1x109


#include<iostream>
#define ll long long
using namespace std;
ll n,m,d,x,t=1,num=0;
ll fac(ll t)
{
    if(num>=m&&t<=x)
        return t;
    else
    {
        n=n+d;
        num=num+n;
        return fac(t+1) ;
    }
}

int main()
{
    cin>>n>>m>>d>>x;
    num=num+n;
    cout<<fac(t)<<endl;
    return 0;
}
 
原文地址:https://www.cnblogs.com/-citywall123/p/10348620.html