0% encontró este documento útil (0 votos)
43 vistas11 páginas

Programación Java - Número Perfecto en Java

Este documento explica cómo determinar si un número es perfecto en Java. Un número es perfecto si es igual a la suma de todos sus divisores positivos sin incluir el propio número. El documento presenta el algoritmo para calcular la suma de los divisores y comprobar si es igual al número original, y también incluye un programa de Java que encuentra todos los números perfectos entre 1 y 1000.

Cargado por

Jose Huanca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
43 vistas11 páginas

Programación Java - Número Perfecto en Java

Este documento explica cómo determinar si un número es perfecto en Java. Un número es perfecto si es igual a la suma de todos sus divisores positivos sin incluir el propio número. El documento presenta el algoritmo para calcular la suma de los divisores y comprobar si es igual al número original, y también incluye un programa de Java que encuentra todos los números perfectos entre 1 y 1000.

Cargado por

Jose Huanca
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

21/11/23, 5:45 Programación Java: Número perfecto en java

Más Crear un blog Acceder

Programación Java Buscar


Tutorial Java. Aprende a programar con Java desde cero.

Última entrada Teoría Ejercicios Ejercicios POO C++

Número perfecto en java ENTRADAS POPULARES

Qué es un número perfecto? Matrices en Java


Actualizado 2022
Un array en Java
Un número es perfecto si es igual a la suma de todos sus divisores positivos sin incluir el propio número.
puede tener más
de una dimensión.
Por ejemplo, el número 6 es perfecto. El caso más
general son los arrays
bidimensionales también
El 6 tiene como divisores: 1, 2, 3 y 6 pero el 6 no se cuenta como divisor para comprobar si es perfecto.
llamados m...

Si sumamos 1 + 2 + 3 = 6 Java Ejercicios Básicos Resueltos


1
Los siguientes números perfectos después del 6 son 28, 496, 8128, 33550336, 8589869056. Relación Nº 1: Ejercicios 1, 2 y 3
Empezaremos por unos
ejercicios básicos de programas
En esta entrada vamos a desarrollar el algoritmo para comprobar si un número es perfecto. Java con estructura secuencial,
El programa pide por teclado un número y muestra si es perfecto o no. mediante un bucle for sumaremos los es decir, en es...
divisores del número. Al final si esta suma es igual al número mostraremos el mensaje correspondiente.
Algoritmos de
ordenación. Metodo
Programa java para calcular si un número es perfecto: de la Burbuja
ALGORITMO DE LA
BURBUJA El
algoritmo de la
import java.util.Scanner; burbuja es uno de los métodos
public class NumeroPerfecto { de ordenación más conocidos y
public static void main(String[] args) { uno de los primeros que
aprenden l...
int i, suma = 0, n;
Scanner sc = new Scanner(System.in); Java Ejercicios Básicos de Arrays
System.out.println("Introduce un número: "); Resueltos 1
n = sc.nextInt(); Relación Nº 1: Ejercicios 1 y 2 1.
for (i = 1; i < n; i++) { // i son los divisores. Se divide desde 1 hasta n-1 Calcular la media de una serie
de números que se leen por
if (n % i == 0) { teclado. Programa Java que lea
suma = suma + i; // si es divisor se suma por teclado ...
}
} Java Ejercicios Básicos Resueltos
2
if (suma == n) { // si el numero es igual a la suma de sus divisores es perfecto
Java Ejercicios Básicos
System.out.println("Perfecto"); estructura secuencial Actualizado
} else { 2020 Relación Nº 2: Ejercicios 4,
System.out.println("No es perfecto"); 5, 6 y 7 Ejercicio 4: Programa
que lea una ca...

} Calcular el factorial de un
} número en Java
} Factorial en java Programa que
calcule el factorial de un número
entero que se introduce por
teclado. El factorial de un
Utilizando el algoritmo anterior vamos a escribir ahora el programa Java que muestre los números perfectos entre 1 y número se expresa m...
1000

public class NumerosPerfectos1a1000 {


Programación Java
public static void main(String[] args) {
Enrique García Hernández
int i, j, suma;
System.out.println("Números perfectos entre 1 y 1000: ");
for(i=1;i <= 1000;i++){ // i es el número que vamos a comprobar SEGUIDORES
suma = 0;
for(j = 1;j < i;j++){ // j son los divisores. Se divide desde 1 hasta i-1
if(i % j==0){
suma = suma + j; // si es divisor se suma
}
}
if(i == suma){ // si el numero es igual a la suma de sus divisores es perfecto
System.out.println(i);
}
}
}
}

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 1/11
21/11/23, 5:45 Programación Java: Número perfecto en java
Seguidores (268) Siguiente

Seguir

Si te ha sido útil compártelo


Tweet

45 comentarios:

Anónimo 18 de febrero de 2013, 16:32

muy bueno el programa...!!!!!


Responder

Anónimo 4 de abril de 2013, 18:05

como puedo realizar el ingreso de un numero binario para obtener su equivalente decimal

Responder

Unknown 16 de abril de 2013, 18:22


Muy aporte GRACIAS ..

Responder

Unknown 28 de abril de 2013, 21:40

gracias esta muy bien explicado

Responder

Enrique 6 de mayo de 2013, 19:56

Muchas gracias a todos!!!

Responder
TRANSLATE

Arkantarosh 9 de junio de 2013, 21:18 Seleccionar idioma ​▼

Hola, me ah saltado un error con mi código, realizandolo como tu lo has hecho me va de maravillas, pero se me ocurrió
meterle la función de repetición (do{ Código } while) Bueno, lo eh hecho y me fue bien pero al finalizar me salta el error LENGUAJE C++
"Sintax error, inser while (expresion;)" . Quisiera saber cuales son los errores en mi código:
Programacion C++
package EnProceso; Números amigos en C++

import java.util.*;
import java.io.*;

public class Práctica {

public static void main (String[] ars)throws IOException{

Scanner sc = new Scanner (System.in);


int i, n, suma = 0;
char car;
do { System.out.println("Ingrese el número:");
n = sc.nextInt();
for (i = 1; i < n; i++){
if (n%i==0){
suma = suma + i;
}
}
if (suma == n){
System.out.println(n+" es un número perfecto");
else{
System.out.println(n+" no es un número perfecto");

System.out.println("¿Desea repetir? (S para repetir | Otro para finalizar))");


car = (char) System.in.read();

}while (car == 's' | car == 'S');


System.out.println("Programa finalizado. Gracias por usar nuestro sistema");

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 2/11
21/11/23, 5:45 Programación Java: Número perfecto en java

Responder

Respuestas

Enrique 10 de junio de 2013, 18:18

El operador OR es una doble barra || Modíficalo y comprueba si te funciona

Un saludo y gracias por seguir el blog.

Arkantarosh 23 de septiembre de 2013, 2:43

Hola, hace rato que no me estaba en Java, por los deberes, pero ayer pude volver, y me acorde de este tema,
lo quise arreglar, poniendo dos barras
}while (car == 's' || car == 'S');
Pero no ah resultado, salta el mismo error, o eso no es el OR? Podrías ayudarme, gracias de antemano.

Anónimo 24 de septiembre de 2013, 19:14

Pues yo estoy empezando con java, creo que te falta algún } aquí y allá.

public static void main (String[] args)throws IOException {


Scanner sc = new Scanner (System.in);
int i, n, suma = 0;
char car = 0;

do {
System.out.println("Ingrese el número:");
n = sc.nextInt();
for (i = 1; i < n; i++) {
if (n%i==0) {
suma = suma + i;
}
}

if (suma == n) {
System.out.println(n+" es un número perfecto");
}
else {
System.out.println(n+" no es un número perfecto");
System.out.println("¿Desea repetir? (S para repetir | Otro para finalizar))");
car = (char)System.in.read();
}
}while(car == 's' || car == 'S');
System.out.println("Programa finalizado. Gracias por usar nuestro sistema");

}
}

De todas formas al hacer esto, en la variable "car" me salía un error de que no estaba inicializada, así que tuve
que ponerle el valor de cero. Aunque he leído por ahí que esto no es recomendable.

Sorry, me he colado respondiendo con un post.

Unknown 17 de marzo de 2021, 22:22

import java.util.*; //Añade utilidades a nuestro código


import java.io.IOException;

public class MyClass {


public static void main(String args[]) {

Scanner lector = new Scanner(System.in); //Utilidad de interacció

System.out.println("Ingresar un numero:"); //Utilidad para escribir en pantalla


int m = lector.nextInt(); //nextInt recupera un valor entero desde teclado
lector.nextLine();

int n = 0;
int c = 0;
int d = 0;
int f = 0;

do{
f = m - 1;
n = n + 1;
c = m % n;
if (c == 0){
d = d + n;
}

}while (n != f);

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 3/11
21/11/23, 5:45 Programación Java: Número perfecto en java
if (d == m){
System.out.println("el numero es perfecto");
}else{
System.out.println("el numero no es perfecto");
}

}
}

Unknown 20 de marzo de 2021, 2:36

aca para los numeros entre el 1 y 1000


import java.util.*; //Añade utilidades a nuestro código

public class MyClass {


public static void main(String args[]) {

Scanner lector = new Scanner(System.in); //Utilidad de interacció

System.out.println("Empezando listado:"); //Utilidad para escribir en pantalla


int m = 1;
do{
m = m + 1;
int n = 0;
int c = 0;
int d = 0;
int f = 0;
do{
f = m - 1;
n = n + 1;
c = m % n;
if (c == 0){
d = d + n;
}
}while (n != f);
if (d == m){
System.out.println("el numero perfecto es: " + m);
}
}while(m <= 1000 );

}
}
Responder

Anónimo 24 de septiembre de 2013, 19:10

Pues yo estoy empezando con java, creo que te falta algún } aquí y allá.

public static void main (String[] args)throws IOException {


Scanner sc = new Scanner (System.in);
int i, n, suma = 0;
char car = 0;

do {
System.out.println("Ingrese el número:");
n = sc.nextInt();
for (i = 1; i < n; i++) {
if (n%i==0) {
suma = suma + i;
}
}

if (suma == n) {
System.out.println(n+" es un número perfecto");
}
else {
System.out.println(n+" no es un número perfecto");
System.out.println("¿Desea repetir? (S para repetir | Otro para finalizar))");
car = (char)System.in.read();
}
}while(car == 's' || car == 'S');
System.out.println("Programa finalizado. Gracias por usar nuestro sistema");

}
}

De todas formas al hacer esto, en la variable "car" me salía un error de que no estaba inicializada, así que tuve que
ponerle el valor de cero. Aunque he leído por ahí que esto no es recomendable.

Responder

Anónimo 15 de octubre de 2013, 6:00

public static int perfecto(int tope){


int x,acum=0;
for (x=1;x<=tope/2;x++){
if(tope%x==0){
acum++;

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 4/11
21/11/23, 5:45 Programación Java: Número perfecto en java
}
}
return acum;
}

//que le parece esto

Responder

pasisica 27 de octubre de 2013, 22:14

aqui está el codigo arreglado, lo compilé con el netbeans y funciona, solo tuve que dos signos de llave de cierre, uno en
el if y otro en el else, al principio me pedia que inicializara el char pero al agregarle esas dos llaves ya no me pide la
inicializacion de char. dejaré el codigo.
import java.util.*;
import java.io.*;

public class practica36 {

public static void main (String[] ars)throws IOException{

Scanner sc = new Scanner (System.in);


int i, n, suma = 0;
char car;
do { System.out.println("Ingrese el número:");
n = sc.nextInt();
for (i = 1; i < n; i++){
if (n%i==0){
suma = suma + i;
}
}
if (suma == n)
{
System.out.println(n+" es un número perfecto");
}
else{
System.out.println(n+" no es un número perfecto");
}
System.out.println("¿Desea repetir? (S para repetir | Otro para finalizar))");
car = (char) System.in.read();

}while (car == 's' || car == 'S');


System.out.println("Programa finalizado. Gracias por usar nuestro sistema");

Responder

Respuestas

Arkantarosh 23 de noviembre de 2013, 19:50

Hola, muchas gracias por el código arreglado. Por cierto, por si alguien quiere usar este código se dará cuenta
que la primera vez que se usa el programa anda bien, pero al repetir (Repetir no reiniciar) el programa este no
calcula bien los números perfectos. La solución es simple y ha sido un error del que no me había percatado al
crear el código:

Scanner sc = new Scanner (System.in);


char car;
int i, n, suma = 0;
do {
System.out.println("Ingrese el número:");
n = sc.nextInt();

En esta parte del código vemos el código inicial de repetición (do { ) luego de dar los valores a los int. Al repetir
el programa, los int. tenían el valor final, es decir que no volvía al valor inicial ( 0 ). Se arregla poniendo el
código int por debajo del código de repeticón.

Scanner sc = new Scanner (System.in);


char car;
do {
int i, n, suma = 0;
System.out.println("Ingrese el número:");
n = sc.nextInt();

Gracias por la ayuda en este código Pasisica.

Responder

Anónimo 5 de noviembre de 2013, 10:35

gracias

Responder

Anónimo 6 de junio de 2014, 0:35

necesito que me ayuden tengo una tarea en java que me piden lo siguente 3. Un número entero positivo se dice perfecto
cuando es igual a la suma de sus divisores exceptuando al mismo. Por ejemplo 6=1+2+3 y 28=1+2+4+7+14 son
números perfectos. Escribir un programa que:

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 5/11
21/11/23, 5:45 Programación Java: Número perfecto en java
a. Pida un número entero n al usuario
b. Muestre por pantalla la lista de todos los números perfectos menores o iguales que n.
les agradeceria mucho que me ayudaran
Responder

Anónimo 6 de junio de 2014, 2:14

me podrian ayudar con este ejercicio: 1. Diseñar y codificar un algoritmo que permita al ordenador adivinar un número
comprendido entre 0 y 100 que haya pensado el usuario. Como salida, se mostrará el número de preguntas necesarias
para adivinar el número
Responder

Unknown 16 de julio de 2014, 23:11

Genial aportación..!!!

Responder

Anónimo 29 de septiembre de 2014, 23:08


public static void main(String[] args) {
int suma = 0;

Scanner sc = new Scanner(System.in);


System.out.print("número inicial: ");
int n1 = sc.nextInt();

System.out.print("número final: ");


int n2 = sc.nextInt();

System.out.println();
System.out.println("números perfectos: ");

do {
if (getPerfecto(n1))
System.out.println(n1);

n1++;
} while (n1 <= n2);

private static boolean getPerfecto(int numero) {


int suma = 0;

for (int i = 1; i < numero; i++) {


if (numero % i == 0) {
suma += i;
}
}

return (suma == numero);


}

Responder

K@rlos 24 de octubre de 2014, 21:14

alguien tiene ese codigo pero en recursivo ?????

Responder

Unknown 1 de abril de 2015, 5:14

buenas noches !
alguien me podria decir como orientar este codigo hacia objetos?

Responder

Unknown 1 de abril de 2015, 5:23

buenas noches !
alguien me podria decir como orientar este codigo hacia objetos?
Responder

Unknown 14 de abril de 2015, 17:49

me podrían ayudar con un problema orientado a objetos???

/*se requiere un programa para crear un cuadro que el usuario


decida el tamaño del cuadro pero solo aparesca su perimetro
Ejemplo:
DAME EL TAMAÑO DEL CUADRO
5

*****
* . . . .*
* . . . .*

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 6/11
21/11/23, 5:45 Programación Java: Número perfecto en java
* . . . .*
*****

*/

Scanner leer= new Scanner(System.in);

System.out.println("DAME EL TAMAÑO DEL CUADRO");


int A = leer.nextInt();

for (int x = 0; x < A; x++)


{

for (int y = 0; y < A; y++)


{
System.out.print(" * ");

}
System.out.println("");

Responder

Respuestas

Anónimo 16 de enero de 2016, 2:49

Estas mal

Responder

Anónimo 16 de enero de 2016, 2:48

ayuda tengo un problema en eclipse es el mismo problema pero para una aplicación para androit ayuda

Responder

Adrian Maiguashca 12 de febrero de 2016, 23:40

ayuda necesito hacer esto pero en java desktop applicaction es en visual

Responder

Anónimo 9 de mayo de 2016, 18:39

¿Como obtendría el numero de números perfectos que deseo ver?


ejemplo: quiero los primeros 3 números perfectos y me resuelva 6, 28, 496.
Gracias.

Responder

bryan remix 20 de junio de 2016, 1:20

lo mismo pero con vectores o array


import java.util.Scanner;
public class arregloprimoono {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner ing =new Scanner (System.in );
int n,i,ii,s=0;
int v[]=new int [1000];
System.out.println("ingrese limite ");
n=ing.nextInt();
System.out.println("ingrese numeros");
for (i=1;i<=n;i++)
{
v[i]=ing.nextInt();
for (ii=1;ii<v[i]-1;ii++)
{v[ii]=v[i];
if(v[ii]%ii==0){s=s+ii;}
}
if(s==v[i])
{System.out.println("es perfecto");s=0;}
else
{System.out.println("no es");s=0;}
}

Responder

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 7/11
21/11/23, 5:45 Programación Java: Número perfecto en java
Unknown 11 de octubre de 2016, 1:46

Un soporte se considera que es uno cualquiera de los siguientes caracteres: (,), {,}, [o].
Dos soportes se considera que son un par coincidente si ([{produce) a la izquierda de un corchete de cierre (es decir,),,
o, o]} es decir, (,) el soporte de una abertura del mismo tipo exacto. Hay tres tipos de parejas de corchetes: [], {}, y ().
Un par de juego de corchetes no está equilibrado si el conjunto de soportes que encierra no se corresponden. Por
ejemplo, {[(])} no es equilibrada porque el contenido en entre {y} no están equilibrados. El par de corchetes encierra un
único soporte, la apertura desequilibrada, (y el par de paréntesis encierra un solo corchete de cierre, desequilibrado,].
Según esta lógica, decimos una secuencia de tramos se considera equilibrada si se cumplen las siguientes condiciones:
No contiene soportes incomparables.
El subconjunto de soportes encerrados dentro de los confines de un par emparejado de soportes es también un par
emparejado de soportes.
cadenas dadas de soportes, determine si cada secuencia de paréntesis es equilibrada. Si una cadena es equilibrada,
imprimir SÍ en una nueva línea; de lo contrario, no imprima en una nueva línea.
Formato de entrada
La primera línea contiene un solo número entero, que denota el número de cadenas.
Cada línea de las líneas subsiguientes se compone de una sola cadena, que denota una secuencia de soportes.
restricciones
, Donde es la longitud de la secuencia.
Cada carácter en la secuencia será un soporte (es decir, {,}, (,), [y]).
Formato de salida
Para cada secuencia, imprimir o no la serie de soportes se equilibra en una nueva línea. Si los soportes están
equilibrados, imprimir SÍ; de lo contrario, no imprima.
Ejemplo de entrada
3
{[()]}
{[(])}
{{[[(())]]}}
Ejemplo de salida

NO

Explicación
La cadena {[()]} cumple ambos criterios para ser una cadena equilibrada, por lo que se imprime SÍ en una nueva línea.
La cadena {[(])} no es equilibrada, ya que los soportes encerrados por los pares coincidentes [(] y (]) no están
equilibrados.
La cadena {{[[(())]]}} cumple ambos criterios para ser una cadena equilibrada, por lo que se imprime SÍ en una nueva
línea.
alguien que me ayude

Responder

Unknown 12 de marzo de 2017, 23:00

oye disculpa y como mande a llamar ese mismo metodo desde otra clase?.
Me refiero a tener una clase ejemplo donde se haga el metodo y clase principal donde se mande a llamar
Responder

Respuestas

Enrique 13 de marzo de 2017, 22:39

Creando un objeto de la clase ejemplo y a través de él llamar al método

Responder

Anónimo 18 de marzo de 2018, 18:55


Por qué según inicialices la suma funciona o no el programa, no acabo de compenderlo porque lo hice poniendolo al inicio,
y no funciona

Responder

Educación Inclusiva 30 de abril de 2018, 1:06

Gracias me Fue de Gran Ayuda


Responder

Respuestas

Enrique 30 de abril de 2018, 20:01

Me alegro Daniel, Gracias por el comentario

Responder

Unknown 21 de enero de 2019, 15:46

me gustaria un programa que hiciese lo mismo pero con menor costo pq si usas numeros mayores que 200000 por
ejemplo el tiempo de ejecucion es enorme

Responder

Respuestas

Unknown 29 de octubre de 2019, 16:26

si seria bueno eso

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 8/11
21/11/23, 5:45 Programación Java: Número perfecto en java

Responder

Otoniel 18 de febrero de 2020, 6:55

yo lo traduje a c++

Responder

bipolar princess 28 de agosto de 2020, 16:12

Hola el programa de los números del 1 al 1000 está bien? Es que cuando lo hago como tu lo haces no me muestra nada.

Responder

Unknown 7 de octubre de 2020, 18:41


Cómo podría hacer un ciclo que cuente los números perfectos del 1 al 1000 de manera iterativa? :C

Responder

Anónimo 10 de noviembre de 2020, 1:13

Diseñe una función que encuentre el primer número perfecto mayor que 28 (o un número n dado). Un número es
perfecto si coincide con la suma de sus divisores (excepto él mismo). Por ejemplo, 28 es perfecto ya que 28 = 1 + 2 + 4
+ 7 + 14. en python.

Responder

Anónimo 15 de enero de 2021, 18:50

Buenas Alguien me puede ayudar con este ejercicio?? AYUDEMEN


1= permita ingresar 2 numeros, verificar si dichos numeros son primos gemelos
2= permite ingresar 3 numeros, verificar si la sumatoria de estos numeros es un numero primo y perfecto a la vez?
3= permite ingrezar 1 numero y precentar la serie de fivonacia asta el 100

Responder

Respuestas

Unknown 26 de marzo de 2021, 2:41

//Primos gemelos
import java.util.*; //Añade utilidades a nuestro código
import java.io.IOException;

public class MyClass {


public static void main(String args[]) {

Scanner lector = new Scanner(System.in); //Utilidad de interacció

System.out.println("Ingresar un numero:"); //Utilidad para escribir en pantalla


int n1 = lector.nextInt(); //nextInt recupera un valor entero desde teclado
lector.nextLine();

System.out.println("Ingresar otro numero:"); //Utilidad para escribir en pantalla


int n2 = lector.nextInt(); //nextInt recupera un valor entero desde teclado
lector.nextLine();

int n = 0;
int c = 0;
int d = 0;
//Comprobar si es un numero primo el primero
do{
c = c + 1;
n = n1 % c;
if (n == 0){
d = d + 1;
}
}while (c <= n1);
//Comprobar si es un numero primo el segundo
int d1 = 0;
int c1 = 0;
int n4 = 0;
do{
c1 = c1 + 1;
n4 = n2 % c1;
if (n4 == 0){
d1 = d1 + 1;
}
}while (c1 <= n2);
//Comprobar si son gemelos
int n3;
if (d == 2 && d1 == 2){
n3 = n1 - n2;
if(n3 == -2 || n3 == 2){
System.out.println("los numeros: "+n1+" y "+n2+" son primos gemelos");
}else{
System.out.println("los numeros: "+n1+" y "+n2+" son primos pero no gemelos");
}
}else{
if(d != 2){

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 9/11
21/11/23, 5:45 Programación Java: Número perfecto en java
if (d1 == 2){
System.out.println("El numero: "+n1+" no es primo y el "+n2+" es primo");
}else{
System.out.println("los numeros: "+n1+" y "+n2+" no son primos");
}
}else{
if (d == 2){
System.out.println("El numero: "+n2+" no es primo y el "+n1+" es primo");
}else{
System.out.println("los numeros: "+n1+" y "+n2+" son primos");
}
}
}

}
}

Unknown 26 de marzo de 2021, 3:10

//La suma de tres numeros, ver si es primo y perfecto


import java.util.*; //Añade utilidades a nuestro código
import java.io.IOException;

public class MyClass {


public static void main(String args[]) {

Scanner lector = new Scanner(System.in); //Utilidad de interacció

System.out.println("Ingresar un numero:"); //Utilidad para escribir en pantalla


int n1 = lector.nextInt(); //nextInt recupera un valor entero desde teclado
lector.nextLine();

System.out.println("Ingresar un segundo numero:"); //Utilidad para escribir en pantalla


int n2 = lector.nextInt(); //nextInt recupera un valor entero desde teclado
lector.nextLine();

System.out.println("Ingresar un tercer numero:"); //Utilidad para escribir en pantalla


int n3 = lector.nextInt(); //nextInt recupera un valor entero desde teclado
lector.nextLine();

int s = 0,n = 0,c = 0,d = 0;


s = n1 + n2 + n3;
//Comprobar si es un numero primo el primero
do{
c = c + 1;
n = s % c;
if (n == 0){
d = d + 1;
}
}while (c <= s);
//Comprobar si es perfecto
int n4 = 0, d1 = 0,f = 0;
do{
f = s - 1;
n4 = n4 + 1;
c = s % n4;
if (c == 0){
d1 = d1 + n4;
}
}while (n4 != f );

if (d == 2){
if (d1 == s){
System.out.println("La suma de los numeros: "+n1+" "+n2+" "+n3+" da un primo y un numero perfecto");
}else{
System.out.println("La suma de los numeros: "+n1+" "+n2+" "+n3+" da un primo y no es un numero
perfecto");
}
}else{
if (d1 == s){
System.out.println("La suma de los numeros: "+n1+" "+n2+" "+n3+" no da un primo y es un numero
perfecto");
}else{
System.out.println("La suma de los numeros: "+n1+" "+n2+" "+n3+" no da un primo y no es un numero
perfecto");
}
}
}
}
Responder

Unknown 17 de agosto de 2021, 18:05

buenas dias, quien me puede ayudar con este algortimo


elabore un algoritmo que calcule usando un menu si cada uno cojuntoi de numeros es : par,primo y perfecto

Responder

Escribe tu comentario

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 10/11
21/11/23, 5:45 Programación Java: Número perfecto en java

Entrada más reciente Inicio Entrada antigua

Suscribirse a: Enviar comentarios (Atom)

LICENCIA

Programación Java by Enrique García Hernández


Esta obra está bajo una licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España License.
Para reconocer la autoría debes poner el enlace http://puntocomnoesunlenguaje.blogspot.com.es

Con la tecnología de Blogger.

https://puntocomnoesunlenguaje.blogspot.com/2012/11/numero-perfecto-en-java.html 11/11

También podría gustarte