45 - Temos um triângulo feito de blocos. A primeira linha do triângulo tem 1
bloco, a segunda linha tem 2 blocos, a terceira linha tem 3 blocos, e por ai
fora. Completa o método Triang
, que, dado o número de linhas, determina
recursivamente (sem ciclos ou multiplicações) o número total de blocos num
triângulo deste tipo. Por exemplo, ao receber o valor 4, o método retorna o
valor 10 correspondente ao número de blocos, como indicado em baixo:
*
- 1 bloco**
- 2 blocos***
- 3 blocos****
- 4 blocos
Método devolve 10, pois existem 10 blocos (asteriscos) ao todo.
De modo a testares o método, cria posteriormente um programa que solicite um
número inteiro ao utilizador, invoque o método Triang
e imprima no ecrã o
número devolvido.
static int Triang(int linhas)
{
// Completar este método
}
Sugerido por João Duarte, adaptado de http://codingbat.com/prob/p194781.
static void Main(string[] args)
{
// Declarar variaveis
int linhas;
// Solicitar linhas ao utilizador
Console.WriteLine("Quantas linhas tem?");
linhas = Convert.ToInt32(Console.ReadLine());
// Chamar o método Triang(x) e imprimir o resultado
Console.WriteLine($"O triangulo tem no total:\n" +
$"{Triang(linhas)} blocos");
}
static int Triang(int linhas)
{
// Variavel temporária
int totalLinhas = 0;
// Iniciar a recurcividade até a variavel linhas ser <= 0
if (linhas > 0)
{
totalLinhas = Triang(linhas - 1) + linhas;
}
else
{
linhas = 0;
}
// Retornar o resultado final
return totalLinhas;
}
Por Tomás Franco