試題 演算法提高 珠心算測驗 C語言

2020-08-11 20:53:55

試題 演算法提高 珠心算測驗

資源限制
時間限制:1.0s 記憶體限制:256.0MB
在这里插入图片描述

#include<stdio.h>
#include<string.h>
void sort(int a[],int n){//排序
	int i,j,k,t;
	for(i=0;i<n-1;i++){
		k=i;
		for(j=i;j<n;j++){
			if(a[k]>a[j]){
				k=j;
			}
			
		}
		t=a[i];
		a[i]=a[k];
		a[k]=t;
	} 
}
int main(){
	int i,n,j,k,count=0,t=0;
	int a[105];
	int b[10000];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	sort(a,n);

	for(i=0;i<n;i++){
		for(j=i+1;j<n;j++){
			for(k=j+1;k<n;k++){
				if((a[i]+a[j])==a[k]){
					b[t++]=a[k];
					count++;
				}
			}
		}
	}
	sort(b,count);
	int s=-1,sum=0;
	for(i=0;i<count;i++){//去重
		if(s==b[i]){
		}else{
			s=b[i];
			sum++;
		}
	}
	printf("%d",sum);
	return 0;
}