El ejercicio no concuerda con el título de este hilo. ¿Por qué "suma de primos"?

Para 1) entiendo que tienes que diseñar una función que calcule la suma de todos los números pares hasta un cierto natural \( n \) que te pasan como parámetro. ¿Tiene que ser recursivo, iterativo...? No sé cuál es el objetivo del ejercicio, pero lo más eficiente es calcularlo mediante una fórmula matemática. Te queda \( O(1) \).
Simplemente ten en cuenta que lo que piden es:
\( \displaystyle \sum_{i=1}^{\lfloor\frac{n}{2}\rfloor} 2i=2\lfloor\frac{n}{2}\rfloor\frac{(\lfloor\frac{n}{2}\rfloor+1)}{2}=\lfloor\frac{n}{2}\rfloor(\lfloor\frac{n}{2}\rfloor+1) \)
Por lo tanto no hay nada más eficiente que ésto:
#include<stdio.h>
int sumaParesHasta(int n){
// Precondicion: n es entero no negativo
return (n/2)*(n/2+1);
}
int main(){
int N;
printf("Dar un numero entero no negativo:\n");
scanf("%d",&N);
printf("La suma pedida es:\n%d", sumaParesHasta(N));
return 0;
}