/* Colocar un número en la posición 'posicion', habiéndose colocado hasta ahora 'puestos' */ void colocar(int posicion) { int i; if (posicion == n) { /* Todos puestos: imprimir solución */ for (i = 0; i < n - 1; ++i) printf("%d ", nums[i]); printf("%d\n", nums[n-1]); } else { /* Expandir el ensayo: colocar un número que cumpla la condición */ for (i = 2; i <= n; ++i) { if (!puestos[i] && es_primo((nums[posicion-1] + i)) && (posicion < n-1 || es_primo((i + 1)))) { puestos[i] = 1; nums[posicion] = i; colocar(posicion + 1); puestos[i] = 0; } } } }
int main(int argc, char *argv[]){ int candidato = atoi(argv[1]); printf("%i %s es primo.\n", candidato, es_primo(candidato ) ? "sí" : "no"); return EXIT_SUCCESS; }
int main() { int num; num = pedir_numero(); if (es_primo(num)) { fprintf(stdout,"El numero %d es primo\n",num); } else { fprintf(stdout,"El numero %d es compuesto\n",num); } return 0; }
int primos(int desde, int hasta) { if (desde == hasta) return 0; if( es_primo(desde) ) { return 1 + primos(desde+1,hasta); } else { return primos(desde+1, hasta); } }
int main(int argc, const char **argv){ int primo[N]; for (int encontrados=0, este_numero=2; encontrados<N; este_numero++) if (es_primo(este_numero)) primo[encontrados++] = este_numero; for (int i=0; i<N; i++) printf(" %i", primo[i]); printf("\n"); return EXIT_SUCCESS; }
int main (void) { int x; bool b; printf("Inserte el numero natural: "); scanf("%d", &x); while (x < 0) { printf("El numero es negativo, inserte un numero natural:\n"); scanf("%d", &x); } b = es_primo(x); if (b) { printf ("El numero es Primo\n"); } else { printf ("El numero no es Primo\n"); } return 0; }