求大佬看看,怎么样能节省时间,好像应为时间超了才没满分的
查看原帖
求大佬看看,怎么样能节省时间,好像应为时间超了才没满分的
1478940
yuchen2006楼主2024/10/19 14:52
#include <stdio.h>
int summ(int arr[], int n);
int main() {
	int value;
	int count = 0;
	int arr[100];
	char ch;
	while (scanf("%d%c", &value, &ch) == 2) {
		arr[count] = value;
		count++;
		if (ch != ' ') {
			break;
		}
	}
	int sum = summ(arr, count);
	printf("%d", sum);

}
int summ(int arr[],int n) {
	int sum1 = 0;
	int count = 1 << n;
	for (int i = 0;i < count;i++) {
		int sum2 = 0;
		for (int j = 0;j < n;j++) {
			if (i & (1 << j)) {
				sum2 += arr[j];
			}
		}
		sum1 += sum2;
	}
	return sum1;
}
2024/10/19 14:52
加载中...