C++枚舉算法之和數

和數


- Description

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

- Input

共兩行,第一行是數列中數的個數n ( 1 <= n <= 100),第二行是由n個不大於10000的正整數組成的數列,相鄰兩個整數之間用單個空格隔開。

- Output

一個整數,即數列中等於其他兩個數之和的數的個數。

- Sample Input

4
1 2 3 4

- Sample Output

2

- 代碼

#include<cstdio>
int main()
{
    int n,a[105],num=0,o[105]={};
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            for(int k=1;k<=n;k++)
                if(a[i]+a[j]==a[k]&&i!=j&&i!=k&&j!=k&&o[k]==0)
                {
                    num++;
                    o[k]=1;
                }
    printf("%d",num);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章