Hola, muy buenas tardes a todos. Soy nuevo realizando códigos en Java, más que nada en la lógica para realizar este tipo de código. Si alguien me puede dar una pista de cómo lo haría, se lo agradecería.
Las instrucciones son las siguientes:
Representación alternativa de un número natural
Considere la siguiente función:
S(1) es 1, si a esta función le aplico la función s nuevamente obtendré el 2 // s = 1 = S(1)
S(S(1)) es 2, si a este resultado le aplico la función s obtendré el 3 //s = 2 = S(S(1))
S(S(S(1) ) ) es 3. // s = 3 = S(S(S(1)))
Escriba un programa que dado un número n entero positivo imprima en una cadena s su representación como función de s. Si n es negativo o cero deberá escribir “Sin representación” y s será la cadena vacía (no nula).
Imprimir s
Mi idea es la que pongo en la imagen, propongo crear un método el cual me ayudará a dar la apariencia de ir porniendo S( dependiendo de n.
Dejo mi código aunque claro, esto es para que me den ideas de cómo lo harían. Gracias!
Uso NetBeans
import java.util.Scanner;
public class Ejercicio4 {
public String funcion(int n){
String [] sc = new String[n]; //sc = s(
String [] p = new String[n]; //p = paréntesis )
String s;
int i;
for (i = 0; i <= sc.length; i++){
sc = "S(";
p = ")";
}
return sc+"S(1)" +" "+p;
}
public static void main(String[] args) {
// TODO code application logic
Scanner lee = new Scanner(System.in);
System.out.println("Dame el valor de n");
int n = lee.nextInt();
String s = "";
Ejercicio4 num = new Ejercicio4();
num.funcion( n );
// CODIFICAR A PARTIR DE AQUÍ
if(n <= 0){
s.isEmpty();
System.out.println("Sin representación");
}
// FIN CODIFICACIÓN
System.out.println(funcion( n ));
}
}
Las instrucciones son las siguientes:
Representación alternativa de un número natural
Considere la siguiente función:
S(1) es 1, si a esta función le aplico la función s nuevamente obtendré el 2 // s = 1 = S(1)
S(S(1)) es 2, si a este resultado le aplico la función s obtendré el 3 //s = 2 = S(S(1))
S(S(S(1) ) ) es 3. // s = 3 = S(S(S(1)))
Escriba un programa que dado un número n entero positivo imprima en una cadena s su representación como función de s. Si n es negativo o cero deberá escribir “Sin representación” y s será la cadena vacía (no nula).
Imprimir s
Mi idea es la que pongo en la imagen, propongo crear un método el cual me ayudará a dar la apariencia de ir porniendo S( dependiendo de n.
Dejo mi código aunque claro, esto es para que me den ideas de cómo lo harían. Gracias!
Uso NetBeans
import java.util.Scanner;
public class Ejercicio4 {
public String funcion(int n){
String [] sc = new String[n]; //sc = s(
String [] p = new String[n]; //p = paréntesis )
String s;
int i;
for (i = 0; i <= sc.length; i++){
sc = "S(";
p = ")";
}
return sc+"S(1)" +" "+p;
}
public static void main(String[] args) {
// TODO code application logic
Scanner lee = new Scanner(System.in);
System.out.println("Dame el valor de n");
int n = lee.nextInt();
String s = "";
Ejercicio4 num = new Ejercicio4();
num.funcion( n );
// CODIFICAR A PARTIR DE AQUÍ
if(n <= 0){
s.isEmpty();
System.out.println("Sin representación");
}
// FIN CODIFICACIÓN
System.out.println(funcion( n ));
}
}