Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Autor: Sebastián Saavedra
- Especialidad: Ingeniero Informático
- Universidad: U. Católica de Valparaíso Chile
- Fecha: 17 de octubre de 2017
- Nombre Programa: Números afortunados
- */
- #include <stdio.h>
- void sublista (int lista[], int *n, int k);
- int main (void)
- {
- int n;
- int i;
- do {
- scanf("%d",&n);
- // Si el número es distinto de 0 se ejecutara el codigo
- if (n != 0) {
- int lista[n];
- // poblar vector
- for (i = 0; i < n; i++) {
- lista[i] = i + 1;
- }
- // enviar vector a una función recursiva
- printf("%d:",n);
- sublista(lista,&n,2);
- printf("\n");
- }
- } while (n != 0);
- return 0;
- }
- void sublista (int lista[], int *n, int k) {
- int i;
- int listaux[(*n)];
- int cont = 0;
- // condición base
- if (k > (*n)) {
- // Se imprime el vector final de forma decreciente
- for (i = (*n)-1; i >= 0; i--) {
- printf(" %d",lista[i]);
- }
- return;
- }
- for (i = 0; i < (*n); i++) {
- if ((i % k) != 0) {
- listaux[cont] = lista[i];
- cont++;
- }
- }
- return sublista(listaux,&cont,k+1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement