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
SÍ
NO
SÍ
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