P2141 [NOIP2014 普及组] 珠心算测验

2023-10-27

题目描述
珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。

某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?

最近老师出了一些测验题,请你帮忙求出答案。

(本题目为 2014NOIP 普及 T1)

输入格式
共两行,第一行包含一个整数 n,表示测试题中给出的正整数个数。

第二行有 n个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。

输出格式
一个整数,表示测验题答案。

输入输出样例
输入 
4
1 2 3 4
输出 
2
说明/提示
【样例说明】

由 1+2=3    1+3=4     1+2=3     1+3=4,故满足测试要求的答案为 2。

注意,加数和被加数必须是集合中的两个不同的数

1.仔细审题

     (1):题目中已经提示集合中每个数都不相同,根据高中所学数学知识也知道,由于集合的互异性,集合中不可能存在两个相同的元素。所以测试样例的时候就不要傻乎乎的在一个集合中输入两次相同的数字。

     (2):样例说明中提示,加数和被加数必须是集合中的两个不同的数;就是说1+1=2 的情况,2是不符合要求的。

2.代码思路

     将集合中的数存入一个一维数组,构建嵌套循环,根据题目要求寻找符合要求的数。

3.代码展示

#include <stdio.h>
int main()
{
	int i,j,k,flag=0;
	int n,sum=0;  //定义sum用于求符合题目要求的数有多少个
	int a[10000];
	int b[10000]={0};
	scanf("%d",&n); 
	for(i=0;i<n;i++){
		scanf("%d",&a[i]); //将n个数存入数组a[];
	}
	for(i=0;i<n;i++){
		flag = 0;          //重置flag
		for(j=0;j<n;j++){
		    if(flag) break;   //利用flag跳出j循环,说明当前的a[i]符合题意,i++进行下一次循环继续寻找
			for(k=0;k<n;k++){
				if(j==k) continue;  //根据题目要求,加数与被加数不能相等,若相等,跳过本轮循环
				if(a[i]==a[j]+a[k]){
					sum++;
					flag = 1;  //利用flag,若已经找到符合要求的数,sum++之后
					break;     //将flag赋值为1;并跳出k循环
				}
			}
		}
	}
	printf("%d",sum);  //输出结果
	return 0;
}

注意

   

这两种寻找方法看似差不多,实则差别很大。

上图的意思是,将集合中任意两个数相加,将得到的结果遍历数组,寻找是否有符合题意的数。但是这种方法有个弊端,例如:1+3=4 和 3+1=4;

a【i】=1 ;a【j】=3或 a【i】=3 ;a【j】=1,都会算进sum的结果里面,当然,如果加上合适的判断条件,用左图的方法也可以做出来。

下图则要简单许多:i循环是遍历数组的每一个数;例如 :i = 2时,j 和 k 的循环则是判断,集合里面是否有其他两个数相加等于 i 。根据代码展示部分,这种方法用一个flag和break语句就可以避免重复的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

P2141 [NOIP2014 普及组] 珠心算测验 的相关文章

  • Qt之qss文件编写

    一 详细参考 http doc trolltech com 4 6 stylesheet reference html 二 Qt Stylesheets Tutorial Stylesheets add spicy flavor to yo
  • 大龄单身,这些人真作。

    大家好 我是北妈 0 前些天想办法给一亲戚弟弟介绍个妹子 弟29 妹子28 两人基本恋爱0经验 皇帝不急太监急 今天两人见面 随问之 弟弟答曰 还可以 就是不知说啥 妹子答曰 还可以 到感觉不太合适 感觉不太爱说话 自己就不太爱说话 想找一
  • 关联分析——关联规则应用及案例

    数据挖掘最早使用的方法是关联分析 主要应用于零售业 其中最有名的是售货 篮分析 帮助售货商制定销售策略 数据挖掘是从海量的数据里寻找有价值的信息和数据 数据挖掘中常用的算法有 关联规则分析法 解决事件之间的关联问题 决策树分类法 对数据 和

随机推荐

  • 大数据--python远程连接Hive

    步骤 启动metastore 启动hiveserver2 使用beeline进行连接测试 查看地址等是否能够成功连接 确认无误可以跳过 使用python连接hive 粗暴的文件配置以及完整操作见文末 一 启动hiveserver2 1 配置
  • springboot应用无故停止运行killed解决方法

    最近使用springboot开发了一个ip代理的程序 今天放到阿里云服务器上运行 多次出现应用运行突然停止的问题 使用free h 查看内存使用完全正常 重新运行监视CPU使用也正常 没有出现堆内存溢出 栈内存异常 内存异常等信息 百思不得
  • 电力系统故障分类数据生成模型(基于simulink仿真批量生成故障数据)

    电力系统是发电 输电 配电和利用系统的组合 简而言之 电力系统是任何电气系统的心脏 在电力系统中 故障或故障电流是任何异常电流 由于此类故障 整个系统可能会损坏并最终崩溃 这项工作的目的是将故障自动分类为 11 个故障类别之一 其中包括平衡
  • 彻底弄懂二叉树的先序、中序、后序三种遍历与做题

    最近有同学考计算机二级不懂树遍历的计算 就找上我解惑 作为老好人的博主的我 但是义不容辞的上来阐述了一番 先来官方的概念 树的遍历 是指对树中所有结点信息的访问 即依次对树中每个结点的访问一次且仅访问一次 分为 先序遍历 后序遍历 层次遍历
  • java ip地址转数字,java版ip地址与整数的互相转换

    在工作中可能会遇到将ip地址转为long型的整数 或者将十进制整数转换为ip地址的情况 下面介绍一种转换的方法 一 将ip地址转成long数值 将IP地址转化成整数的方法如下 1 通过String的split方法按 分隔得到4个长度的数组
  • 被骗几十万总结出来的Ddos攻击防护经验!

    转载地址 http www ijiandao com safe cto 15952 html 本人从事网络安全行业20年 有15年防ddos攻击防护经验 被骗了很多回 都说能防300G 500G 买完就防不住了 本文当然重点给大家说明 dd
  • Flask4:methods=[‘POST‘, ‘GET‘]

    从服务器上获取数据 用GET请求 前端把数据发给服务器 用POST请求 在 app route上 添加methods参数 这个参数是一个列表类型 可以传递多个 右键页面 检查 中
  • Vue3/ Vue3 和 Vue2 生命周期函数不同点 总结、Vue2 和 Vue3 里面父组件的生命周期顺序

    一 Vue3 x 和 Vue2 x 生命周期函数不同点 总结 Vue2 vue3 beforeCreate gt setup 开始创建组件之前执行 created gt setup 开始创建组件之前执行 beforeMount gt onB
  • 【满分】【华为OD机试真题2023 JS】简单的解压缩算法

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 简单的解压缩算法 知识点栈 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数
  • 高并发短信平台实现

    01 短信介绍 在项目介绍的时候 已经定义了austin项目的核心功能 发送消息 我认为 短信是在一整个消息推送平台里最重要的一个消息类型了 毕竟关联了很多重要的业务场景 想想我们日常使用APP时的场景 验证码 登录注册 支付等等重要场景
  • matplotlib 绘制Sigmoid函数,Tanh函数,ReLU函数

    import numpy as np import matplotlib pyplot as plt def sigmoid x return 1 1 np exp x def tanh x return np exp x np exp x
  • python global函数用法及常用的 global函数代码

    Python中的 global函数是用于在程序中定义变量的函数 在我们实际的开发中 我们可能会用到 global函数来定义变量 但是我们在这里就不具体介绍它的用法了 global函数定义变量的方法 global函数使用参数a来指定变量在程序
  • 外卖点餐系统小程序 PHP+UniAPP

    一 介绍 本项目是给某大学餐厅开发的外面点餐系统 该项目针对校内的学生 配送由学校的学生负责配送 因此 该项目不同于互联网的外卖点餐系统 该系统支持属于 Saas 系统 由平台端 商家端 用户端 以及配送端组成 其中 平台端 商家端是由基于
  • 520七夕表白,还不懂浪漫?4套代码教会你如何深情表白【建议收藏】❤️

    马上又到了脱单的黄金时刻 七夕啦 如果你有喜欢的女孩子 一定要趁着这个时候把喜欢说出口 但是该不会还有人表白在学校的操场上摆着爱心蜡烛抱一束花喊一堆人来围观吧 No 请你立刻马上放弃这个计划 毫无心意不说 对于女孩子来说是真的很社死啊 PS
  • linux 查看java安装目录

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 获取java安装路径前要判断是否已经安装成功java 执行命令 java 1 U
  • 清晰图解,一图看懂图卷积GCN、时空图卷积ST-GCN

    目录 1 前言 2 普通卷积与图卷积 2 1 普通卷积 2 2 图卷积 3 ST GCN图卷积的代码解读 4 图卷积的缺陷 5 参考文献 6 联系方式 1 前言 本文为我阅读论文 Spatial Temporal Graph Convolu
  • 微信小程序API~GET

    框架提供丰富的微信原生API 可以方便的调起微信提供的能力 如获取用户信息 本地存储 支付功能等 1 wx on 开头的 API 是监听某个事件发生的API接口 接受一个 CALLBACK 函数作为参数 当该事件触发时 会调用 CALLBA
  • libmysqlclient.so.15: cannot open shared object file: No such file or directory

    libmysqlclient so 15 cannot open shared object file No such file or directory 分类 mysql服务器管理优化 2009 06 02 16 11 26769人阅读
  • DC系列漏洞靶场-渗透测试学习复现(DC-6)

    DC 6是一个易受攻击的实验环境 最终目的是让攻击者获得root权限 并读取flag DC 6使用的操作系统为Debian 64位 靶场下载链接 1 http www five86 com downloads DC 6 zip 2 http
  • P2141 [NOIP2014 普及组] 珠心算测验

    题目描述 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术 珠心算训练 既能够开发智力 又能够为日常生活带来很多便利 因而在很多学校得到普及 某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法 他随机生成一个正整数集合