Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычисление ряда уникальных чисел по формулам 
:(
    Опции темы
volatile
Дата 15.11.2012, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 2
Всего: 85



Вот самый первый, который мне вчера пришел в голову (и самый тупой) вариант на простом массиве.
Если в языке больше ничо нет, то прокатит!

Код

int main ()
{
   const int size = 10000; // тут надо с запасом =))
   bool a [size] = {1};
   int n = 1000;
   int x = 0;

   while (n && x < size)
      if (a [x ++])
      {
         int y (x);
         do 
            if ((y += x) < size) 
               a [y] = 1;
         while (y < 3*x);
         std::cout << x << ' ';
         -- n;
      }
}


http://codepad.org/PVnrqXve

PM MAIL   Вверх
volatile
Дата 16.11.2012, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 2
Всего: 85



Цитата(Silent @  15.11.2012,  08:12 Найти цитируемый пост)
предполагаю, что можно использовать хотя бы массивы

Не факт. Может в паскале нет массивов... (точно не могу сказать). В любом случае, массивы использовать нехорошо.
Вот (не менее тупой) вариант без массивов:

Код

bool 
is (int x)
{  if (-- x < 1) return !x;
   return 
         x%2==0 && is (x/2) 
      || x%3==0 && is (x/3);
}

int main ()
{
   int n = 1000; // Скока нуно циферок
   int x = 0;    // С какова начать (начнет со следущего, т.е с x+1)

   while (n) if (is (++ x))
   {
      std::cout << x << ' ';
      -- n;
   }
}

http://codepad.org/HTEJ7x8F

Не знаю, правда, насколько хорошо было использовать цЫклы ?       
возможно в паскале цЫклов нет... (точно не могу сказать).

Добавлено через 8 минут и 2 секунды
Ну и модификация последнего алгоритма, с разбиением на столбики.
А то, у меня строка не влазила целиком в экран (моник слабоват).
Вот здесь циферки в 10 столбиков.

http://codepad.org/bnctfc43

Добавлено через 11 минут и 46 секунд
Последний вариант, должен быть медленней прочих.
Но зато он без специальных возможностей C++, как то:
Он без STL алгоритмов! Без контейнеров! И даже без простых массивов!
Ну и там можно начать печатать в любом порядке, и с любого элемента, не только 1-го.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.