Números pedriscos, Algoritmo de números naturales

#include <stdio .h>
#include<math .h>

//Prototipado

void ingresar(unsigned int *);
void operar(char *respuesta);
void divisor(unsigned int * numero, int *pasos,int *par,int*impar);

int main(){

unsigned int numero;
int pasos=0,par=0, impar=0;
char respuesta;


operar(&respuesta);

while((respuesta=='s')||(respuesta=='S')){

ingresar(&numero);

while(numero!=1){

divisor(&numero,&pasos,&par,&impar);

}

operar(&respuesta);
pasos=0; par=0; impar=0;
}
}

void ingresar(unsigned int *numero){ //Ingreso del numero
printf("Ingrese numero natura: ");
scanf("%u",numero);


}

void operar(char*respuesta){
printf("Para  ingresar un numero ingrese |s|: ");
scanf("%c",respuesta);
fflush(stdin);
}

void divisor(unsigned int *numero,int *pasos,int *par,int *impar){

unsigned int auxiliar= *numero;

int resto= *numero%2;

if(resto==0){

*par = *par+1;
fflush(stdin);

*pasos = *pasos+1;
fflush(stdin);

*numero = *numero/2;
fflush(stdin);

printf("Paso numero: %d, NUMERO PAR(%d), [ %u / 2 ]= %u\n",*pasos,*par,auxiliar,*numero);
}else{

*impar=*impar+1;
fflush(stdin);
*pasos=*pasos+1;
*numero= ((*numero)*3)+1;
printf("Paso numero: %d, NUMERO IMPAR(%d), [ (%u*3)+1]= %u\n",*pasos,*impar,auxiliar,*numero);
             }
       }
}

Comentarios

Entradas más populares de este blog