萌新求助,有注释求大佬帮忙看看问题
查看原帖
萌新求助,有注释求大佬帮忙看看问题
788016
AOY616楼主2023/8/12 00:42
#include<stdio.h>
int main()
{
    int n;//正整数的个数
    int a[1000];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    
    //一个数组中的任意一个数能不能是另外两个之和
    //首先从小到大排序
    int p=n;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<p-1;j++)
        {
            if(a[j]>a[j+1])
            {
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
            p--;
        }
    }

      
    int count=0;//统计能被表示多少次
    int biaoji=count;//判断这个数是不是已经能被分解了
    for(int i=2;i<n;i++)//从第三个数开始
    {
        for(int j=0;j<i;j++)
        {
            for(int k=j+1;k<i;k++)
            {
                if(a[j]+a[k]==a[i])
                {
                    count++;
                    break;
                }
            }
            if(biaoji<count)//如果这个数已经可以被分解了,就检查下一个
            {
                biaoji=count;
                break;
            }
        }
    }
    printf("%d",count);
  
      return 0;
}
2023/8/12 00:42
加载中...