Horizontal

miércoles, 2 de enero de 2013

Factorizar un número

   Al factorizar un número de busca obtener sus factores primos, en el siguiente programa se divide el número ingresado(n), por los números 2,3,4,5... hasta n, no es necesario obtener el número primo para realizar la división, pues siempre se encuentra primero al número primo, que luego se divide.

CÓDIGO

  1.  //Factorizar un numero
  2. #include<stdio.h>
  3. int main(){
  4.     int n,i,j;
  5.     int a[50];   
  6.       //pedimos un numero positivo
  7.     printf("ingrese el numero:\n");
  8.     scanf("%d",&n);
  9.     while(n<=0)
  10.     {
  11.        printf("el numero debe ser positivo:\n");
  12.        scanf("%d",&n);
  13.     }   
  14.       //obtenemos los factores
  15.     i=2;
  16.     j=0;
  17.     while(n>1)
  18.     {
  19.        if(n%i==0)
  20.        {
  21.           n=n/i;
  22.           a[j]=i;
  23.           j++;
  24.           i=2;
  25.        }
  26.        else
  27.           i++;
  28.     }   
  29.       //imprimir los factores
  30.     for(i=0;i<j;i++)
  31.        printf("\nfactor %d = %d",i+1,a[i]);
  32.     
  33.     getchar();
  34.     return 0;
  35. }

martes, 1 de enero de 2013

Área de un círculo

   Para poder hallar el área de un circulo es suficiente aplicar la formula que conocemos gracias a la Geometría, pero es necesario asegurarnos que el radio ingresado sea un número positivo y para ello usamos el bucle "while".
 
CÓDIGO


  1. #include<stdio.h>
  2. #define PI 3.141592654
  3. int main()
  4. {
  5.     float a,r;
  6.     printf("ingrese el radio\n");
  7.     scanf("%f",&r);
  8.     
  9.     while(r<=0)
  10.     {
  11.        printf("el radio debe ser positivo\n");
  12.        scanf("%f",&r);
  13.     }
  14.     
  15.     a=PI*r*r;
  16.     
  17.     printf("\nel area es: %f",a);
  18.     
  19.     getchar();
  20.     getchar();
  21.     return 0;
  22. }

Descomposición cifra por cifra de un número en base 10

Si queremos descomponer un número para obtener sus cifras y usar estas en algún programa más complejo, se puede realizar mediante divisiones sucesivas entre la base y vamos almacenando el resto en un vector o array de enteros y para estar seguros de realizar esta tarea se imprime cifra por cifra el número con el uso del bucle for.

CÓDIGO

  1. #include<stdio.h>
  2. #define BASE 10
  3. #define TAM 12
  4. int main()
  5. {
  6.     int n,m,i;
  7.     int d[TAM];
  8.     printf("ingrese el numero\n");
  9.     scanf("%d",&n);
  10.     while(n<=0)
  11.     {
  12.        printf("el numero debe ser positivo:\n");
  13.        scanf("%d",&n);
  14.     }
  15.     
  16.     i=0;
  17.     while(n)
  18.     {
  19.        d[i]=n%BASE;
  20.        n=n/BASE;
  21.        i++;
  22.     }
  23.     
  24.     int j;
  25.     for(j=0;j<i;j++)
  26.     {
  27.        printf("\ndigito de orden %d %d",j+1,d[j]);
  28.     }
  29.     getchar();
  30.     return 0;
  31. }

Related Posts Plugin for WordPress, Blogger...