Java 洛谷 P2141 珠心算测验
Java入门:先了解OOP思想,阅读《Java核心技术》系列书籍 #生活技巧# #工作学习技巧# #编程语言学习路径#
题目描述:
题目链接:https://www.luogu.com.cn/problem/P2141
珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。
某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?
最近老师出了一些测验题,请你帮忙求出答案。
(本题目为2014NOIP普及T1)
输入格式
共两行,第一行包含一个整数n,表示测试题中给出的正整数个数。
第二行有n个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。
输出格式
一个整数,表示测验题答案。
输入输出样例
输入
4
1 2 3 4
输出
2
代码实例:
import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int a[] = new int[n];for (int i = 0; i < a.length; i++) {a[i] = scanner.nextInt();}boolean falg = false;for (int i = 0; i < a.length; i++) {for (int j = i+1; j < a.length; j++) {if(a[i]==a[j]) {falg = true;}}}//判断输入的数字是否都各不相同if(falg) {System.out.println("请输入不同的数字");}int c[] = new int[n];//将输入的a数组赋值给c数组,备用for (int i = 0; i < a.length; i++) {c[i] = a[i];}//计数器int count = 0;for (int b = 0; b < a.length; b++) {//循环4次,遍历1 2 3 4 这几个数for (int i = 0; i < a.length; i++) {for (int j =i+1 ; j < a.length; j++) {if(a[i]+a[j]==a[b]) {c[b] = 0;}}}}//只要是有两个数加起来等于这个集合中的任意一个数,这个数的值就变成了0,这样的话就不会出现重复的情况//重复的情况是:加入1+9=10,5+5=10那10就计算了两次,所以我们用以下的方法for (int i = 0; i < c.length; i++) {if(c[i] == 0) {count++;}}System.out.println(count);scanner.close();} }
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950网址:Java 洛谷 P2141 珠心算测验 https://www.yuejiaxmz.com/news/view/102482
相关内容
java计算机毕业设计大学生体质管理app(开题+程序+论文)java计算机毕业设计宠物寄托管理系统(开题+程序+论文)
java计算机毕业设计家庭理财管理系统(开题+程序+论文)
[附源码]JAVA计算机毕业设计成爱生活健康管理软件(源码+开题)
10年Java面试总结:Java程序员面试必备的面试技巧
java计算机毕业设计宠物管理系统(开题+程序+论文)
java计算机毕业设计宠物喂养资讯分享平台的设计与实现(开题+程序+论文)
java计算机毕业设计大学生运动健身系统的设计与实现(开题+程序+论文)
Java家庭理财系统(开题+源码)
java计算机毕业设计宠物养护系统(开题+程序+论文)