开飞机的Ricky ÐàÐà
2021-02-03 14:52
采纳率: 50%
浏览 51

c++ 递归递推解决,十分感谢!

可怕的流感

Ø 问题描述:已知一只家禽得了流感,流感的传播时间为 24 小时,在这 24 小时内

最多能将流感传给其它 M 只家禽,农场主需要购买紧急药品,假设发现时已经过

了 N 天,那么农场主需要至少买多少包药呢?(一包药为一只家禽用量)

Ø 输入:一行,两个整数,第一个表示流感传染家禽的数量 M,第二个表示发现时已

过的天数。

Ø 输出:一行,一个整数,表示需要药的包数。

Ø 样例输入:

10 2

Ø 样例输出:

121

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • chosen13 2021-02-03 17:11
    已采纳
    #include<iostream>
    using namespace std;
    int total(int x);              //定义函数
    int m;                         //m为感染数
    int main() {
    	int  x;                     //x为发现天数
    	cin >> m >> x;
    	int to = total(x);           //to为结果
    	cout << to;
    	return 0;
    }
    int total(int x) {
    	if (x > 0)
    	{
    		return (m + 1) * total(x - 1);
    	}
    	else return 1;
    }
    

     

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 在黎明的反思 2021-02-03 17:23
    int buyleast(int cur,int M, int N)
    {
        --N;
        if(0>N)
        {
            return cur;
        }
        return buyleast(cur*M+cur,N);
    }
        int M=10;
        int N=2;
        printf("%d,%d,%d\n",M,N,buyleast(1,M,N));
    评论
    解决 无用
    打赏 举报