蓝桥杯备考----->DFS组合型枚举,选数问题

cpp 复制代码
#include <iostream>
using namespace std;
int n, k;
const int N = 25;
int a[N];
int path;
int ret;

bool isprime(int x)
{
	if (x <= 1) return false;
	else
	{
		for (int i = 2; i <= x / i; i++)
		{
			if (x % i == 0)
			{
				return false;
			}
		}
	}
	return true;
}
void dfs(int pos, int begin)
{
	if (pos > k)
	{
		if (isprime(path))
			ret++;
		return;
	}
	for (int i = begin; i <= n; i++)
	{
		path += a[i];
		dfs(pos + 1, i + 1);
		path -= a[i];
	}
}
int main()
{
	cin >> n >> k;

	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}

	dfs(1, 1);

	cout << ret << endl;





	return 0;
}
相关推荐
小欣加油2 小时前
leetcode 1018 可被5整除的二进制前缀
数据结构·c++·算法·leetcode·职场和发展
玖剹3 小时前
递归练习题(四)
c语言·数据结构·c++·算法·leetcode·深度优先·深度优先遍历
_OP_CHEN3 小时前
算法基础篇:(十九)吃透 BFS!从原理到实战,解锁宽度优先搜索的核心玩法
算法·蓝桥杯·bfs·宽度优先·算法竞赛·acm/icpc
小猪咪piggy3 小时前
【算法】day 20 leetcode 贪心
算法·leetcode·职场和发展
CoderYanger6 小时前
优选算法-优先级队列(堆):75.数据流中的第K大元素
java·开发语言·算法·leetcode·职场和发展·1024程序员节
Controller-Inversion6 小时前
力扣53最大字数组和
算法·leetcode·职场和发展
测试界的海飞丝16 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
小白程序员成长日记17 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
资深web全栈开发1 天前
LeetCode 1015. 可被 K 整除的最小整数 - 数学推导与鸽巢原理
算法·leetcode·职场和发展