Antes que nada, déjame decirte que este código está en C ++ .
C ++ es el único lenguaje de código que conozco actualmente . Este problema parecía tentador, así que lo probé.
- ¿Cuál es la negación de min y max?
- Cómo aumentar la velocidad de cálculo de la función trigonométrica en una computadora
- Cómo escribir un programa en C para imprimir todas las permutaciones posibles de un número dado
- ¿Cómo obtengo un límite superior para T (n) = T (n / 2) + n?
- Cómo resolver la recurrencia T (n) = T (n - 1) + n usando el teorema del maestro
Pido disculpas por no enviar mi respuesta en Java .
Si desea ver las salidas para más casos, puede copiar directamente este código en el software IDE gratuito para C ++ llamado CodeBlocks .
De hecho, quiero que te concentres más en lo que está sucediendo en las estructuras de bucle. Si obtiene una imagen clara del algoritmo, creo que puede traducir fácilmente este código a Java. Así que así es como va el Código C ++ …
#include
usando el espacio de nombres estándar;
int main ()
{
int n, espacio = 1;
cout << "Ingrese su valor de entrada:";
cin >> n;
int p = n;
para (int i = 0; i <n; i ++)
{
si (n == 1)
{
cout << "*";
descanso;
}
más si (i == 3 || i == n-1)
{
p = n-1;
}
si (i% 2 == 0)
{
si (i == n-1)
{
p ++;
}
para (int j = 0; j <p-1; j ++)
{
para (int k = 0; k <2 * (espacio-1); k ++)
{
cout << "";
}
cout << "*" << endl;
}
}
más
{
p = n-1;
para (int k = 0; k <2 * (espacio-1); k ++)
{
cout << "";
}
para (int j = 0; j <p + 1; j ++)
{
cout << "*";
}
cout << endl;
}
espacio + = p * (i% 2);
}
devuelve 0;
}
Aquí hay algunas fotos más de diferentes casos de prueba …