viernes, 15 de julio de 2016

Como encontrar un número primo en C, Java, Python, Small Basic

Diario de un programador. Anexo B: Códigos


Como encontrar un número primo: Existen varios algoritmos distintos para encontrar un número primo, algunos más eficientes que otros. Esta es mi solución para C, Java, Python y Small Basic


C
Programa utilizado: Code Blocks 13.12



#include<stdio.h>

int main(void){
  int numero, i, iterar = 0, contador = 0;

  printf("Ingresa un numero: ");
  scanf("%d", &numero);

  if (numero % 2 == 0){
    printf("El numero no es primo\n");
  }
  else{
    iterar = (numero - 1) / 2;
    for(i = 1; i <= iterar; i++){
      if(numero % i == 0){
        if(i != iterar){
          contador++;
        }//fin if
      }//fin if

      if(contador > 1){
        printf("El numero no es primo\n");
        break;
      }//fin if
    }//fin for
  }//fin else

  if(contador == 1){
    printf("El numero es primo!!!\n");
  }
return 0;
}//fin main

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015


JAVA
Programa utilizado: Net Beans 8.0.1

import java.util.Scanner;
public class primos{
  public static void main(String[]args){
    Scanner ingreso = new Scanner(System.in);
    int numero, iterar = 0, i, contador = 0;
   
    System.out.print("Ingresa un numero ");
    numero = ingreso.nextInt();
   
    if(numero % 2 == 0){
      System.out.println("El numero no es primo!"); 
    }
    else{
        iterar = (numero - 1) / 2;
        for(i = 1; i <= iterar; i++){
          if(numero % i == 0){
            if( i != iterar){
              contador++; 
            }//fin if 
          }//fin if 
     
          if(contador > 1){
            System.out.println("El numero no es primo!");
            break;//nro. no primo 
          }//fin if
        }//fin for  
    }//fin else

    if(contador == 1){
      System.out.println("El numero es primo!!!");
    }//fin if

  }//fin main   
}//fin class

//Escrito por Gustavo J. Cerda Nilo, diciembre 2015



PYTHON 3.5
Programa utilizado: Idle

iterar = 0
contador = 0

numero = int(input("Ingresa un numero: "))

if numero % 2 == 0:
    print("El numero no es primo!")

else:
    iterar = int((numero - 1) / 2)
    for i in range(1, iterar + 1):
        if numero % i == 0:
            if i != iterar:
                contador = contador + 1

        if contador > 1:
            print("El numero no es primo!")
            break

if contador == 1:
    print("El numero es primo!!!")
   
#Escrito por Gustavo J. Cerda Nilo, diciembre 2015




SMALL BASIC
Programa utilizado: Small Basic 1.1

TextWindow.Write("Ingresa un numero ")
numero = TextWindow.ReadNumber()
contador = 0

If Math.Remainder(numero,2) = 0 Then
  TextWindow.WriteLine("El numero no es primo!")
Else
  iterar = (numero - 1) / 2
  For i = 1 To iterar
    If Math.Remainder(numero,i) = 0 Then
      If i <> iterar Then
        contador = contador + 1
      EndIf
    EndIf
 
    If contador > 1 Then
      TextWindow.WriteLine("El numero no es primo!")
      Goto salir
    EndIf
  EndFor
 
EndIf

salir:
If contador = 1 Then 
  TextWindow.WriteLine("El numero es primo!!!")
EndIf

'Escrito por Gustavo J. Cerda Nilo, diciembre 2015



2 comentarios:

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...