首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
p1036 选数(不详细勿看,递归)
】的更多相关文章
p1036 选数(不详细勿看,递归)
题目:传送门 这题,不会做,而且看了好久才看懂题解的,然后在题解的基础上补了一个 if(start>end) return 0 感觉这样对于我更直观 转载自:大神博客的传送门,点击进入 先声明,我代码全部抄他的,原创是他 解释一下他的思路吧 就是比如说输入数字3 7 12 19,从中选三个 那么先要递归全排列再判断素数,主要是递归全排列难 他这里递归的直接就是答案的值,全部算完之后第一次调用函数的返回值就是答案 刚刚说到3 7 12 19 然后第一个可能选3或7或12或19这四种(这四种待会还会…
luogu P1036 选数 x
P1036 选数 题目描述 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34. 现在,要求你计算出和为素数共有多少种. 例如上例,只有一种的和为素数:3+7+19=29). 输入输出格式 输入格式: 键盘输入,格式为: n , k (1<=…
(递归)P1036 选数
#include<stdio.h>#include<math.h>int x[20],n,k,i; //判断是否质数 int isprime(int n){ for(i=2;i<=sqrt(n);i++){ if(n%i==0)return 0; } return 1;} ******************************************************************* //重点 //choose_left_…
【搜索】【入门】洛谷P1036 选数
题目描述 已知 n个整数x1,x2,…,xn,以及1个整数k(k<n).从nn个整数中任选kk个整数相加,可分别得到一系列的和. 例如当n=4,k=3,4个整数分别为3,7,12,19时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=3 3+12+19=34 现在,要求你计算出和为素数共有多少种. 例如上例,只有一种的和为素数:3+7+19=29 输入输出格式 输入格式: 键盘输入,格式为: n,k(1≤n≤20,k<n) x1,x2,…,xn…
洛谷 P1036 选数
嗯.... 这种类型的题在新手村出现还是比较正常的, 但是不知道为什么它的分类竟然是过程函数与递归!!!(难道这不是一个深搜题吗??? 好吧这就是一道深搜题,所以千万别被误导... 先看一下题目: 题目描述 已知 n 个整数 x1,x2,…,xn,以及1个整数k(k<n).从n个整数中任选k个整数相加,可分别得到一系列的和.例如当n=4,k=3n=4,k=3n=4,k=3,444个整数分别为3,7,12,19时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19…
洛谷P1036 选数 题解 简单搜索/简单状态压缩枚举
题目链接:https://www.luogu.com.cn/problem/P1036 题目描述 已知 \(n\) 个整数 \(x_1,x_2,-,x_n\) ,以及 \(1\) 个整数 \(k(k<n)\) . 从 \(n\) 个整数中任选 \(k\) 个整数相加,可分别得到一系列的和. 例如当 \(n=4,k=3\) , \(4\) 个整数分别为 \(3,7,12,19\) 时,可得全部的组合与它们的和为: \(3+7+12=22\) \(3+7+19=29\) \(7+12+19=38\)…
P1036 选数 题解
题目链接https://www.luogu.org/problemnew/show/P1036 题目描述 已知 nnn 个整数 x1,x2,-,xnx_1,x_2,-,x_nx1,x2,-,xn ,以及 111 个整数 kkk ( k<nk<nk<n ).从 nnn 个整数中任选 kkk 个整数相加,可分别得到一系列的和.例如当 n=4,k=3n=4,k=3n=4,k=3 , 444 个整数分别为 3,7,12,193,7,12,193,7,12,19 时,可得全部的组合与它们的和…
(水题)洛谷 - P1036 - 选数
https://www.luogu.org/problemnew/show/P1036 $n$ 才20的数据量,我当时居然还在想怎么分组组合,直接 $2^{20}$ 暴力搞就行了. $x_i $太大了,不能事先处理出所有素数.误!多数了一个0!但是一共和的结果最多和选法的次数一样,$2^{20}$,也就是 $10^{6}$(好像也很多),验证是素数要$10^{4}$…… 原来看错了!那就用埃筛然后暴力判断就好了. 暴力都写了半天,关键在于要在dfs进入的时候立刻处理选择才对. #include<…
P1036 选数(DFS)
题目 https://www.luogu.org/problemnew/show/P1036 思路 搜索,使用递归实现dfs,所有数字遍历一遍,当取遍所有数组的index(扫了一遍,并非一定是选取了),判断是否取了要求个数的输入和是否是素数 AC代码 #include<cstdio> #include<cmath> using namespace std; int in[22]; int ans=0; int n, k; bool isprim(int num) { for (in…
洛谷P1036选数(素数+组合数)
题目链接:https://www.luogu.org/problemnew/show/P1036 主要考两个知识点:判断一个数是否为素数.从n个数中选出m个数的组合 判断一个数是否为素数: 素数一定是6n+1或者6n-1 如果是6n,则可以被6整除 如果是6n+2,可以被2整除 如果是6n+3,可以被3整除 如果是6n+4,可以被2整除 而6n+5等同于6n-1 组合数: 参考博客:https://zhidao.baidu.com/question/487981533.html 采用递归,从n个…