题解 | #数组分组#
数组分组
https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86
#include<stdio.h>
int solu(int N1,int N2,int arr[],int idx,int n);
int main(){
int N1 = 0;
int N2 = 0;
int n;
int arr[50];
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
scanf("%d",&arr[i]);
}
int idx = 0;
int r = solu(N1,N2,arr,idx,n);
if(r>0)
printf("true");
else
printf("false");
}
}
int solu(int N1,int N2,int arr[],int idx,int n){
if(idx==n){
if(N1==N2)
return 1;
else
return 0;
}
else{
if(arr[idx]%5==0){
return solu(N1+arr[idx],N2,arr,idx+1,n);
}
else if(arr[idx]%3==0){
return solu(N1,N2+arr[idx],arr,idx+1,n);
}
else{
return solu(N1+arr[idx],N2,arr,idx+1,n)+solu(N1,N2+arr[idx],arr,idx+1,n);
}
}
}
查看7道真题和解析