swadmin 2022-01-24 14:53 采纳率: 90%
浏览 72
已结题

取数游戏 Description

题目描述
我们来玩一个游戏:自然数1到N,按顺序列成一排,你可以从中取走任意个数,但是间隔一个的不能同时被取走,如果1表示取走,0表示不取走,则不能出现101的连续串。
如果你能算出一共有多少种取法,那么你会被天神小泰泰奖励。
输入
输入仅包含一个数n(1≤ n ≤ 25)。
输出
输出仅包含一个数你的答案。
样例
输入 复制
4
输出 复制
12
提示
递归穷举即可。答案在2147483647以内。

  • 写回答

4条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2022-01-24 16:24
    关注
    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <cmath> 
    #include <vector>
    #include <queue>
    #include <map>
    #include <stack>
    #include <set>
    #include <sstream>
    #include <iomanip> 
    using namespace std;
    
    int result = 0;
    int a[30];
    void output(int n)
    {
        int i;
        for(i=0;i<=n-1;i++)
         {
              if (i < n - 2)
            {
                if (a[i] == 1 && a[i + 1] == 0 && a[i + 2] == 1)
                {
                    return;
                }
            }
            if (i == n - 1)
            {
                result++;
            }
         }
    }
    
    void search(int m,int n)                                     
    {
         int i;
        if(m==n)
         {
              output(n);
         }
         else
         {
              for(i=0;i<=1;i++)
              {
                   a[m]=i;
                   search(m+1,n);
              }
         }
    }
    
    int main()
    {
        int array[30]={0,2,4,7,12,21,37,65,114,200,351,616,1081,1897,3329,5842,10252,17991,31572,55405,97229,170625,299426,525456,922111,1618192};
        int n;
        cin>>n;
        search(0,n);
        if(array[n] != result)cout<<"error"<<endl;
        cout<<result<<endl;
        result = 0;
        return 0;
    }
    

    源码给你你继续研究吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日
  • 创建了问题 1月24日

悬赏问题

  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上