当前位置:网站首页>Abacus mental arithmetic test

Abacus mental arithmetic test

2022-07-05 01:43:00 Stars are not last night 334

Title Description

Abacus mental calculation is a kind of calculation technology that can complete fast calculation by simulating the change of abacus in the brain . Abacus mental arithmetic training , Can develop intelligence , It can bring a lot of convenience to our daily life , So it's popularized in many schools .

Some school's abacus mental arithmetic teacher uses a kind of quick examination abacus mental arithmetic addition ability test method . He randomly generates a set of positive integers , The numbers in the set are different , Then ask the students to answer : How many of them , Exactly equal to the other two in the set ( Different ) Sum of the numbers ?

Recently, the teacher gave some test questions , Please help me find out .

( This topic is 2014NOIP Universal T1)

Input format

There are two lines , The first line contains an integer n, The number of positive integers given in the test .

The second line has n A positive integer , Every two positive integers are separated by a space , A positive integer given in a test .

Output format

An integer , The answer to a test question .

I/o sample

Input #1 Copy

4
1 2 3 4

Output #1 Copy

2

explain / Tips

【 Sample explanation 】

from 1+2=3,1+3=4, So the answer to meet the test requirements is 2.

Be careful , The addend and the addend must be two different numbers in the set .

【 Data description 】

about 100% The data of ,3≤n≤100, The size of the positive integer given by the test question does not exceed 10,000.

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a[100],b[100],bk=0;// First , Defining variables ,n Is the number of numbers ,a It's the number. ,b To eliminate repetition ,bk It's to record (book)
    cin>>n;// Read in 
    for(int i=0;i<n;i++){
        cin>>a[i];// Read in 
        b[i]=2;// Be careful , Here's the point , Many people don't get full marks because of this , The repeated calculation is included , So here we need something like a switch to indicate whether it repeats , If 2 It's the one that hasn't been moved , If 1 It's moved 
    }
    for(int i=0;i<n;i++){// Because it only needs two numbers to calculate , So you can simply do two cycles , Here is the law of Mathematics , Such as :1,2,3,4 Choose two of the four numbers and add them , Want all combinations , We have 1,2、1,3、1,4、2,3、2,4、3,4
        for(int o=i+1;o<n;o++){
            for(int p=0;p<n;p++){// Repeatedly test all the numbers one by one to see if they are the sum of all the combinations 
                if(a[p]==a[i]+a[o]&&b[p]!=1){// Determine whether it is the sum of all combinations . For uniqueness , So to test a Have you been passive ,b It comes in handy here 
                    bk++;
                    b[p]=1;// If you haven't moved, just a Corresponding b Set as moved 
                }
            }
        }
    }
    cout<<bk;// Output 
    return 0;
}

原网站

版权声明
本文为[Stars are not last night 334]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202141018487008.html