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
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
Haz un ejemplo para kotlin
ResponderEliminarHaz un ejemplo para kotlin
ResponderEliminar