ответ: Кот Леопольд пошёл на рыбалку и наловил рыбы. Каждую рыбу он старательно взвесил. Первая рыба (самая маленькая), которую он взвешивал , весила ровно L грамм. Каждая следующая рыбина была на K грамм тяжелее предыдущей. Сколько весит вся рыба, которую наловил Леопольд, если известно что поймал он N(>0) рыб?
Технические условия. Программа считывает с клавиатуры число N-количество рыб, потом, через пробел, L-массу первой рыбы в граммах и через пробел-K-на сколько каждая следующая рыбина тяжелее предыдущей. Программа выводит на Экран одно целое число-массу всей пойманой рыбы в граммах.
Пример:
Ввод>10 250 100
Вывод>7000
Ввод>12 100 150
Вывод>11100
1. открой поисковик
2. вбей данные из "как сгенерировать идеальный бесконечный лабиринт в с++"
3.посмотри видео и всё поймёшь
желаю удачи!!
Объяснение:
Предисловие
На написание статьи меня сподвигло практически полное отсутствие материалов на русском языке про алгоритмы генерации лабиринтов. На Хабре, из того, что вообще есть по теме, можно отметить две статьи: раз и два. Ценность и пользу из которых несет лишь вторая. В первой – просто перевод формального алгоритма и небольшое его пояснение. Что, конечно, неплохо, но очень скудно и не вызывает желания изучать тему дальше.
Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева с одним заметным плюсом. ОСТОРОЖНО ТРАФИК.
Дам один совет – не подглядывайте в код до тех пор, пока вы не напишите свою реализацию. Вы получите гораздо больше удовольствия и пользы от исправления багов и поиска ошибок, чем если просто переведете с одного языка на другой.
Серьезно. Прислушайтесь к совету. Вы, верно, потратите больше времени, но оно стоит стоит. У меня, например, из-за пары ошибок появился очень забавный генератор «инопланетных» текстов, который можно использовать в различных Sci-Fi играх для создания текста. Надеюсь, Вы изучаете тему для себя и никуда не спешите.
P.S.:
Я буду использовать термин «смещение», предполагая английский bias. Т.е. пристрастие алгоритма к направленности в какую-либо сторону. Например, правое смещение – алгоритм генерирует лабиринты с длинными правыми проходами.
Раскраска лабиринтов происходит относительно расстояния от крайнего левого угла поля до некоторой клетки. Чем дальше от начальной координаты – тем темнее будет цвет.
Идеальный лабиринт – такой лабиринт, в котором одна клетка связана с другой одним единственным путем. Иначе говоря, остовное дерево.
Про Lua
Алгоритм двоичного дерева
#include <cstdlib>
#include <locale>
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
#include <cmath>
using namespace std;
void func(int num);
inline void reverse(int c[1]);
void str(int num);
int n2[1];
int main(int argc, char *argv[])
{
system("chcp 1251 >nul");
setlocale(LC_ALL, "Russian");
char num[10]; int cc;
printf("Введите число и его сс: ");
cin >> num >> cc;
char *pInt;
int hh = strtol(num, &pInt, cc);
func(hh);
return EXIT_SUCCESS;
}
void func(int num)
{
int c = 2;
int i = 0, j = 10;
int nn = num;
int pr = 0;
for(; j > i; j--){
pr = nn % c;
n2[j] = pr;
nn /= c;
}reverse(n2);
}
inline void reverse(int c[1]){
int len = 11;
int j = len-1;
for (int i = 0; i < len; i++){};
int ber;
for(int i = 0; i < len; i++) ber += c[i] * pow(10, j), j--;
str(ber);
}
void str(int num)
{
int ber = num;
int c = 10;
char buffer[20];
char *nm;
nm = itoa(ber, buffer, c);
string aa = nm;
for(int i = 0; i < strlen(nm); i++){
if(nm[i] == 0 and nm[i] != nm[i+1])
for(int j = i;j;j--) aa.erase(aa.begin() + i);
}
int ed = 0, nu = 0;
for(int i = 0; i < strlen(aa.c_str()); i++){
if(aa[i] == '1') ed++;
else nu++;
}
cout << "Двоичная запись: " << aa << endl;
printf("Количество единиц: %d\n Количество нулей: %d", ed, nu);
}