寒假1 蓝桥杯-递推递归

#include<iostream>
#include<stdio.h>
using namespace std;

int f(int n)
{
	if (n == 1)return 1;
	if (n == 2)return 1;
	return f(n - 1) + f(n - 2);
}

int main()
{
	int n;
	cin >> n;
	cout << f(n) << endl;
	return 0;
}

#include<iostream>
#include<stdio.h>
using namespace std;
int n;
int arr[16];
void dfs(int u)
{
	if (u > n)
	{
		for (int i = 1;i <= n;i++)
		{
			if (arr[i] == 1)
			{
				cout << i << " ";
			}
			
		}
		cout << endl;
		return;
	}
	arr[u] = 2;
	dfs(u + 1);
	arr[u] = 1;
	dfs(u + 1);
}
int main()
{
	cin >> n;
	dfs(1);
	return 0;
}

#include<iostream>
using namespace std;
#include<vector>
int n;
int arr[10];
int arr2[10];//1没用过,2用过
vector<int>v;
void dfs(int u)
{
	if (u > n)
	{
		for (int i = 1;i <= n;i++)
		{
			cout << arr[i]<<" ";
		}
		cout << endl;
	}
	for (int i = 1;i <= n;i++)
	{
		if (arr2[i] == 1)
		{
			arr[u] = i;
			arr2[i] = 2;
			dfs(u + 1);
			arr2[i] = 1;
		}
	}
}
int main()
{
	cin >> n;
	for (int i = 1;i <= n;i++)
	{
		arr2[i] = 1;
	}
	dfs(1);
	return 0;
}

#include<iostream>
using namespace std;
int arr[26];
int use[26];//1没用过,2用过
int n, k;

void dfs(int u)
{
	
	if (u > k)
	{
			for (int i = 1;i <= k;i++)
			{
				cout << arr[i] << " ";
			}
			cout << endl;
		return;
	}
	for (int i = 1;i <= n;i++)
	{
		if (use[i] == 1 && i > arr[u - 1])
		{
			arr[u] = i;
			use[i] = 2;
			dfs(u + 1);
			use[i] = 1;
		}
	}
	
}

int main()
{
	cin >> n >> k;
	for (int i = 1;i <= n;i++)
	{
		use[i] = 1;
	}
	dfs(1);
	return 0;
}

 

#include<iostream>
using namespace std;

long long dfs(int n)
{
    if(n==1)return 1;
    return n*dfs(n-1);
}

int main()
{
    int n;
    cin>>n;
    cout<<dfs(n)<<endl;
    return 0;
}

 

#include<iostream>
using namespace std;
#include<algorithm>
int arr[10];
int arr2[10];
int test[10];
bool use[10];
int n;

void dfs(int u)
{
    if (u > n)
    {
       /* int flag = 1;
        for (int i = 1;i <= n;i++)
        {
            if (arr2[i] != test[i])
            {
                flag = 0;
            }
            test[i] = arr2[i];
        }
        if (flag == 0)
        {*/
            for (int j = 1;j <= n;j++)
            {
                cout << arr2[j] << " ";
            }
            cout << endl;
        //}
        return;
    }
    for (int i = 1;i <= n;i++)
    {
        if (!use[i])
        {
            arr2[u] = arr[i];
            use[i] = true;
            dfs(u + 1);
            use[i] = false;
            while (i + 1 <= n && arr[i + 1] == arr[i]) i++;
        }
    }
}
int main()
{
    cin >> n;
    for (int i = 1;i <= n;i++)
    {
        cin >> arr[i];
    }
    sort(arr+1, arr + n+1);
    /*for (int i = 1;i <= n;i++)
    {
        cout << arr[i];
    }*/
    dfs(1);
    return 0;
}

相关推荐

  1. 2024-01-30 20:52:02       46 阅读
  2. 备考随手记:

    2024-01-30 20:52:02       39 阅读
  3. 2024-01-30 20:52:02       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 20:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 20:52:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 20:52:02       82 阅读
  4. Python语言-面向对象

    2024-01-30 20:52:02       91 阅读

热门阅读

  1. [python3]多线程 日志输出在不同的文件中

    2024-01-30 20:52:02       42 阅读
  2. Device收到通知时,通知指示灯不闪烁的问题

    2024-01-30 20:52:02       64 阅读
  3. Python采集学习笔记-SQL Server不同表的数据转移

    2024-01-30 20:52:02       51 阅读
  4. 【前端基础--8】

    2024-01-30 20:52:02       63 阅读
  5. 【书生·浦语大模型实战营】学习笔记目录

    2024-01-30 20:52:02       54 阅读
  6. C语言数据在内存中的存储和结构体&联合体&枚举

    2024-01-30 20:52:02       61 阅读
  7. 【Python3】计算两个字符串的相似度

    2024-01-30 20:52:02       59 阅读
  8. 《微信小程序开发从入门到实战》学习九十七

    2024-01-30 20:52:02       58 阅读
  9. 剑指offer面试题13 在O(1)时间删除链表结点

    2024-01-30 20:52:02       57 阅读
  10. 最少硬币问题

    2024-01-30 20:52:02       48 阅读
  11. 张毅超值得宣传

    2024-01-30 20:52:02       46 阅读
  12. Spring Cache简明教程

    2024-01-30 20:52:02       68 阅读