Java 洛谷 P2141 珠心算测验
生活随笔
收集整理的這篇文章主要介紹了
Java 洛谷 P2141 珠心算测验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:
題目鏈接: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();} }總結
以上是生活随笔為你收集整理的Java 洛谷 P2141 珠心算测验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 洛谷 P1424 小鱼的航程(
- 下一篇: Java 洛谷 P1055 ISBN号码