NOIP2002-普及组复赛-第三题-选数
3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34。
现在,要求你计算出和为素数共有多少种。
例如上例,只有一种的和为素数:3+7+19=29)。
键盘输入,格式为:
n , k (1<=n<=20,k<n)
x1,x2,…,xn (1<=xi<=5000000)
输出格式:
屏幕输出,格式为:
一个整数(满足条件的种数)。
4 3
3 7 12 19
输出样例:
1
思路:模拟,不解释!
代码如下:
1 //使用数组input保存各个数字是否被用过的标志,使用数组a保存输入的数字 2 #include <stdio.h> 3 #include <math.h> 4 #include <string.h> 5 int sort=0,n,k,a[40]; 6 int sushu(int x) //是素数返回1,不是返回0 7 { 8 int i,y; 9 y=sqrt(x); 10 for(i=2;i<=y;i++) 11 if(x%i==0) 12 return 0; 13 return 1; 14 } 15 void f(int input[],int pos,int m) //f(被操作数组,所在位置,选m个数) 16 { 17 if(m==0) 18 { 19 int j,sum=0; 20 for(j=0;j<n;j++) 21 if(input[j]==1) 22 sum+=a[j]; 23 if(sushu(sum)==1) 24 sort++; 25 return; 26 } 27 else 28 { 29 int i; 30 for(i=pos;i<n;i++) 31 { 32 if(input[i]==0) 33 input[i]=1; 34 f(input,i+1,m-1); 35 input[i]=0; 36 } 37 } 38 return; 39 } 40 int main() 41 { 42 int input[40],i; 43 scanf("%d%d",&n,&k); 44 for(i=0;i<n;i++) 45 scanf("%d",&a[i]); 46 memset(input,0,sizeof(int)*40); 47 f(input,0,k); 48 printf("%d\n",sort); 49 return 0; 50 }
转载于:https://www.cnblogs.com/geek-007/p/4454865.html
NOIP2002-普及组复赛-第三题-选数相关推荐
- 【动态规划】 摆花 【NOIp普及组 2012 第三题】 (ssl 2360/luogu 1077)
摆花摆花摆花 题目大意 有n种花,每种花有ai支,取m支,有多少种取法?(同一种花取第1,第3支和取第1,第2支算一种取法) 解题方法: 用f[i][j]来表示前i种选j支的方案数,然后往后推 动态转 ...
- 【深搜】 棋盘 【NOIp普及组 2017 第三题】 (luogu 3956/ssl 2851)
棋盘棋盘棋盘 题目大意: 有一个M*M的棋盘,要从(1,1)到(m,m),中间有n个有颜色的格子,只能踩在有颜色的格子上,跳到不同颜色的格子要花费1元,可以将前方没颜色的格子变成自己要的格子,但要花费 ...
- 2006 CCF NOIP普及组复赛 第1题:明明的随机数 <- 桶排序
[问题描述] 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数 ...
- 泽泽在巴西(jzoj普及组模拟第三题)(超难)
题目: 题目描述 泽泽帮助了英国某街道尽量减少酸雨的伤害,街道办主任非常感激他,就把他领到一扇门前,告诉他这扇门能通往好地方,具体好到什么程度要看泽泽人品.泽泽毫不犹豫地走了进去-- 泽泽来到了足球王 ...
- 信息学奥赛一本通 1919:【02NOIP普及组】选数 | 洛谷 P1036 [NOIP2002 普及组] 选数
[题目链接] ybt 1919:[02NOIP普及组]选数 洛谷 P1036 [NOIP2002 普及组] 选数 [题目考点] 1.排列组合 2.深搜(子集树) 3.质数 [解题思路] 深搜(子集树) ...
- Java P1035 [NOIP2002 普及组] 级数求和 洛谷入门题
P1035 [NOIP2002 普及组] 级数求和 题目描述 已知:Sn=1+1/2+1/3+-+1/nS_n= 1+1/2+1/3+-+1/nSn=1+1/2+1/3+-+1/n.显然对于任意一个 ...
- 近年NOIP普及组复赛题目的简单讲解
NOIP2015普及组复赛 整套题都出得不错,难度适中,层次分明 建议同学们在做题的时候还是先在草稿纸上分析,把关键算法的伪代码写出来,然后设计数据进行静态查错,没有问题后再到电脑上敲出代码.实际效率 ...
- NOIP 2010 普及组 复赛 sanguo 三国游戏
NOIP 2010 普及组 复赛 sanguo 三国游戏 1.扫到他人讨论,取第2大值,且小涵必胜. 2.编码,样例通过,提交,只通过了测试点1,6. 3.看了题解,发现是武将配对中,找出配对的第2大 ...
- P1002 [NOIP2002 普及组] 过河卒
P1002 [NOIP2002 普及组] 过河卒 最近在洛谷刷题,决定用博客把自己的解题思路以及踩过的坑整理总结一下~ 先来看看题目吧~ 棋盘上 AA 点有一个过河卒,需要走到目标 BB 点.卒行走的 ...
最新文章
- Linux字体显示不同颜色
- PHP版本的自动生成有规则的订单号(或编号)
- 第一章——数据结构之绪论
- Ubuntu 搭建 NVIDIA驱动 CUDA 和 pytorch GPU 环境
- 位运算 进制转化 STL中bitset用法
- python装饰器有几种_Python装饰器使用你可能不知道的几种姿势
- 更改android的avd的存储路径
- Debian5.0自动挂载U盘 - 使用pmount
- 计算机应用基础 项目4-5 分析商品销售业绩 ppt课件,计算机应用基础课件项目四汇总.ppt...
- 伪C++开发小游戏---连连看
- 机器翻译和自动译后编辑
- 海康威视监控摄像头连接电脑教程
- 18.8.17 考试总结
- 昆虫的眼睛(单眼与复眼)
- 银行管理系统 - 2022计科实训QT课设
- 【计算机网络】计算机网络-分组发送相关计算
- 蓝色经典钢琴-Cinesamples Piano In Blue v2.3b Kontakt
- Sharepoint 2013 页面置顶(Topbar)小插件
- 第一篇博客——C语言实现简单的学生成绩管理系统
- 当“性价比”失败时,小米应该如何突破?