slgqhcsdn 2022-02-08 15:52 采纳率: 76.9%
浏览 30
已结题

关于#c++#的问题,如何解决?(危险的组合)

题目描述
有一些装有铀(用U表示)和铅(用L表示)的盒子,数量均足够多。要求把N个盒子放成一行,但至少有3个U放在一起,有多少种方法?

输入格式
第一行包含一个整数N(3<=N<=30)。

输出格式
输出一个整数表示方法数。

输入样例
4

输出样例
3

  • 写回答

2条回答 默认 最新

  • slgqhcsdn 2022-02-18 18:31
    关注
    
    #include<bits/stdc++.h>
    using namespace std;
    int f(int n){
        if(n<3){
            return 0;
        }
        else if(n==3){
            return 1;
        }
        else if(n==4){
            return 3;
        }
        else{
            return 2*f(n-1)+pow(2,n-4)-f(n-4);
        }
    }
    int main(){
    int n;
        cin>>n;
        cout<<f(n);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月8日