1 条题解
-
1
202502cj14周子祥 (周子祥) LV 8 @ 2 个月前
#include<iostream>
#include<iomanip>
#include<cmath>
#include<bits/stdc++.h>
#include<cstdio>
#include<stdio.h>
int num[21], n, k, book[21], tag[21], ans;
int prime(int x)
{
int i, t;
t = sqrt(x);
for(i = 2; i <= t; i++)
{
if(x % i == 0)
break;
}
if(i == t + 1)
return 1;
else
return 0;
}void dfs(int step, int last)
{
int i;
if(step == k + 1)
{
int sum = 0;
for(i = 1; i <= k; i++)
{
sum += num[tag[i]];
}
if(prime(sum))
{
ans++;
}return;
}for(i = last; i <= n; i++)
{
if(book[i] == 1)
continue;book[i] = 1;
tag[step] = i;
dfs(step + 1, i);
book[i] = 0;
}}
int main()
{
int i;
scanf("%d%d", &n, &k);
for(i = 1; i <= n; i++)
{
scanf("%d", &num[i]);
}
dfs(1, 1);printf("%d\n", ans);
return 0;
}
- 1
信息
- ID
- 1010
- 难度
- 8
- 分类
- (无)
- 标签
- 递交数
- 28
- 已通过
- 3
- 通过率
- 11%
- 被复制
- 12
- 上传者