Задача 05. Rocket - Изпит 20 November 2016 - Evening
Здравейте, някой ще ми даде ли идея от къде да взема формулката на тази задача стигнах до тук след 2 часово мислене, но нещо не ми се получава:
using System;
namespace rocket
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
var width = (3 * n);
for (int rows = n; rows > 0; rows--)
{
Console.WriteLine(@"{0}/{1}\{0}", new string('.', (n / 2) + rows - 1), new string(' ' ,width * rows + 2));
}
Console.WriteLine("{0}{1}{0}", new string('.', n / 2), new string('*', n * 2));
for (int rows = 0; rows < n * 2; rows++)
{
}
}
}
}
Този тип задачи са ми най-трудни пробвам да решавам такива от всички изпити назад, но първо трябва да видя идеята след това може да успея да реша задачката. Така без да знам за идеята не ми се получава.
Задачите от първа до трета ги научих. От някой изпити решавам и четвърта, но тази със фигурката още не мога да я науча.
Някой ще даде ли идеи какво да правя.
Ето я и лисицата :)
using System;
class Fox
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
int leftRightStars = 1;
int middleDashes = ((2 * n) + 3) - ((leftRightStars * 2) + 2);
int rightLeftStars = n / 2;
int middleStars = n;
for (int i = 0; i < n; i++)
{
Console.WriteLine("{0}\\{1}/{0}",
new string('*', leftRightStars),
new string('-', middleDashes));
leftRightStars++;
middleDashes -= 2;
}
for (int i = 0; i < n / 3; i++)
{
Console.WriteLine("|{0}\\{1}/{0}|",
new string('*', rightLeftStars),
new string('*', middleStars));
rightLeftStars++;
middleStars -= 2;
}
leftRightStars = 1;
middleDashes = ((2 * n) + 3) - ((leftRightStars * 2) + 2);
for (int i = 0; i < n; i++)
{
Console.WriteLine("{0}\\{1}/{0}",
new string('-', leftRightStars),
new string('*', middleDashes));
leftRightStars++;
middleDashes -= 2;
}
}
Мерси за идеята и за споделянето на твоите решения. Какво ще кажеш за моя начин за решаване на първата и третата част на лисицата?
Малко сложно я решаваш, поне според мен, но все пак ето формулата, която ти трябва:
width - 4 - (n / 2 + i)*2)