Ayuda con dos subprogramas
Publicado por Pepe (1 intervención) el 21/10/2017 12:05:34
Buenas tengo un programa, que quiero hacer, se me ocurren unas cuantas ideas de como empezarlo pero no totalmente, ¿alguien puede ayudarme? Dejo la guia.
Múltiplos sinceros: Se denomina “múltiplos sinceros” a "los números que son múltiplos de un
número base de una cifra y en los cuales la suma de sus cifras es también este mismo número base".
Por ejemplo, “múltiplos sinceros” del número base 2 son el 2, 20, 110, 200, 1.010, 1.100, 2.000, ...
Ya que el 20 es múltiplo de 2 y además la suma de sus cifras (2+0) da 2.
El 110 también es múltiplo de 2 y además la suma de sus cifras (1+1+0) da 2.
Otro ejemplo: “múltiplos sinceros” del número base 9 son el 9, 18, 27, 36, 45, 54, 63, 72, 81, 90,
108, 117, ...
Números colegas:
Un número n es “colega” de una cifra d, si el número n empieza y termina por la cifra d.
Por ejemplo: El número n =101 es colega de la cifra d = 1
El número n = 22 es colega de la cifra 2
El numero n = 3012 NO es colega de la cifra d = 3
El número n = 12341 es colega de la cifra 1.
Práctica:
Dada esta información desarrollar un programa que:
Muestre un menú que permita escoger entre:
a) Múltiplos sinceros
b) Números colegas
c) Terminar
Si el usuario escoge la opción a) deberá solicitar dos números, correspondientes al número base y al
mayor número (límite) que puede aparecer en la secuencia y mostrará todos los “múltiplos sinceros”
de dicho número base hasta el límite. Por ejemplo, si introduce como número base el 2 y como límite
el 1000 deben aparecer los números: 2, 20, 110, 200 ya que el siguiente “múltiplo sincero” que es
1010 supera el límite 1000.
Si el usuario elige la opción b) la aplicación le pedirá un número entero positivo (n) y un número de
una única cifra (d) y escribirá en pantalla si el número n es “colega” de la cifra d.
Llevo hecho esto:
Múltiplos sinceros: Se denomina “múltiplos sinceros” a "los números que son múltiplos de un
número base de una cifra y en los cuales la suma de sus cifras es también este mismo número base".
Por ejemplo, “múltiplos sinceros” del número base 2 son el 2, 20, 110, 200, 1.010, 1.100, 2.000, ...
Ya que el 20 es múltiplo de 2 y además la suma de sus cifras (2+0) da 2.
El 110 también es múltiplo de 2 y además la suma de sus cifras (1+1+0) da 2.
Otro ejemplo: “múltiplos sinceros” del número base 9 son el 9, 18, 27, 36, 45, 54, 63, 72, 81, 90,
108, 117, ...
Números colegas:
Un número n es “colega” de una cifra d, si el número n empieza y termina por la cifra d.
Por ejemplo: El número n =101 es colega de la cifra d = 1
El número n = 22 es colega de la cifra 2
El numero n = 3012 NO es colega de la cifra d = 3
El número n = 12341 es colega de la cifra 1.
Práctica:
Dada esta información desarrollar un programa que:
Muestre un menú que permita escoger entre:
a) Múltiplos sinceros
b) Números colegas
c) Terminar
Si el usuario escoge la opción a) deberá solicitar dos números, correspondientes al número base y al
mayor número (límite) que puede aparecer en la secuencia y mostrará todos los “múltiplos sinceros”
de dicho número base hasta el límite. Por ejemplo, si introduce como número base el 2 y como límite
el 1000 deben aparecer los números: 2, 20, 110, 200 ya que el siguiente “múltiplo sincero” que es
1010 supera el límite 1000.
Si el usuario elige la opción b) la aplicación le pedirá un número entero positivo (n) y un número de
una única cifra (d) y escribirá en pantalla si el número n es “colega” de la cifra d.
Llevo hecho esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static int MultSinceros(int base,int limite)
{
int unidades, decenas, centenas,suma, resultado;
for (int i=base; base>= limite; i++ ){
unidades = i % 10;
decenas = (i / 10) % 10;
centenas = i / 100;
suma = unidades+centenas+decenas;
if (suma == base || i % base == 0) {
System.out.println(i);
}
}
return;
Valora esta pregunta


0