Openjudge-NOI題庫-和數


題目描述 Description

給定一個正整數序列,判斷其中有多少個數,等於數列中其他兩個數的和。 比如,對於數列1 2 3 4, 這個問題的答案就是2, 因為3 = 2 + 1, 4 = 1 + 3。

輸入輸出格式 Input/output
輸入:
共兩行,第一行是數列中數的個數n ( 1 <= n <= 100),第二行是由n個不大於10000的正整數組成的數列,相鄰兩個整數之間用單個空格隔開。
輸出:
一個整數,即數列中等於其他兩個數之和的數的個數。
輸入輸出樣例 Sample input/output
樣例測試點#1
輸入樣例:
2
4
1 2 3 4
5
3 5 7 9 10
輸出樣例:
2
1
思路:可以先將這個數組中所有兩個數相加的和存入另一個數組(兩重循環即可),然后再掃描一遍這個數組同相加的和的數組比較,如果相同則答案++
代碼如下:
 1 #include <stdio.h>
 2 int main()
 3 {
 4     int n,i,j;
 5     int a;
 6     int kk=0;
 7     int aa[102],bb[99999];
 8     int ans=0;
 9     scanf("%d",&n);
10     while(n>0)
11     {
12         scanf("%d",&a);
13         for(i=0;i<a;i++)
14         {
15             scanf("%d",&aa[i]);
16         }    
17                 /*=======================*///將這個數組中的每兩個數和全部存入bb中    
18         for(i=0;i<a;i++)
19         {
20             for(j=i+1;j<a;j++)
21             {
22                 bb[kk]=aa[i]+aa[j];
23                 kk++;
24             }
25         }
26                 /*=======================*///循環判斷兩個數和的數組中是否有和元素組一樣的
27         for(i=0;i<kk;i++)
28         {
29             for(j=0;j<a;j++)
30             {
31                 if(bb[i]==aa[j]) ans++;//有,ans++
32             }
33         }
34         printf("%d\n",ans);
35         ans=0;//答案歸零
36         kk=0;//循環變量歸零
37         n--;//循環條件控制
38     }
39     return 0;
40 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM