Форум программистов, компьютерный форум CyberForum.ru

Конкурс(поиск простых чисел) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переход на заданную строку http://www.cyberforum.ru/cpp-beginners/thread628241.html
вот хочу считать последнюю строку из файла такием раком fstream str("base.txt",ios_base::in|ios_base::out); str.seekp(0, ios::end); char* words; str >> words; str >> words; str >> words; cout << words;
C++ Вывести на экран значение элемента... Работа с квадратными массивами В задаче рассматривается двумерный массив с одинаковым количеством строк и столбцов; такой массив называют квадратным. Задача: Известен номер столбца, на котором расположен элемент побочной диагонали квадратного массива. Вывести на экран значение этого элемента. http://www.cyberforum.ru/cpp-beginners/thread628240.html
C++ Найти все десятизначные числа с неповторяющимися цифрами, при делении которых на 9 получается симметричное частное
Здравствуйте, друзья. Вот задача: Найти все десятизначные числа с неповторяющимися цифрами, при делении которых на 9 получается симметричное частное. Например: 4938271605 / 9 = 548696845 (таким же свойством обладают числа 2165904378/9=2406556042 или 2934815607/9=326090623 и др.) Вот код: #include <iostream> using namespace std; void main() { double Sc=1000000000, Otv;
Какой заголовочный файл надо для функции ord() ? C++
Всем привет... Тут такая напасть случилась забыл заголовочный файл(include <???>) для функции ord =)
C++ Имена переменных русскими словами http://www.cyberforum.ru/cpp-beginners/thread628190.html
Попробовал объявить переменную русским словом, присвоить значение и напечатать. Всё получилось. А почему в учебниках пишут, что можно только латинскими буквами ?
C++ Чтение из файла здравствуйте господа форумчане. у меня на мой взгляд глупый вопрос, но уж так сложилось что тямы на него самому ответить не хватает. вообщем я считываю из файла строку и ищу в ней подстроки. но не могу докумекать как переместится на следующую строку в файле и читать её и искать в ней. вот код:#include "stdafx.h" #include <string.h> #include <fstream> #include <iostream> #include... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
24.07.2012, 21:05     Конкурс(поиск простых чисел)
Давно писал. Примерно 0.022 у меня.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <algorithm>
#include <ctime>
 
template<int N>
size_t get_next_unchecked(const bool (&s)[N], const size_t current_idx)
{
   // Ищем первый элемент == false, начиная с адреса s + current_idx + 1, до конца массива.
   const bool* pointer = std::find(s + current_idx + 1, s + N, false);
   // Если мы не нашли таких элементов - возвращаем 0, иначе возвращаем разницу между указателем и началом массива
   // т.е. порядковый номер элемента.
   return (pointer == s + N) ? 0 : pointer - s;
}
 
int main()
{
   const size_t max = 300000;
   bool checked[max] = {true, true, false};
   size_t current_idx = 2;
   time_t now = clock();
   // Цикл начинается с двух и идет до тех пор пока i меньше max и i != 0, 
   // каждая итерация цикла i будет равно следующему индексу, возвращенному из get_next_unchecked,
   // и current_idx будет равен i.
   // Т.е.
   // i = 2. Начало цикла. Просто пробегаем вторым циклом по массиву начиная от 4, прибавляя 2. Цикл закончился.
   // теперь получаем i из get_next_unchecked - это будет 3, таким образом i = 3, current_idx = 3.
   // Пробежали по циклу от 9 до max прибавляя 3. Снова получаем i из get_next_unchecked это будет 5. и т.д.
   for (size_t i = current_idx; i < max && i; i = get_next_unchecked(checked, current_idx), current_idx = i)
   {
      for (size_t j = i * i; j < max; j += i)
      {
         checked[j] = true;
      }
   }
   /*for (size_t i = 2; i < max; ++i)
   {
       if (!checked[i])
       {
          std::cout << i << " ";
       }
   }
   std::cout << std::endl;*/
   std::cout << "Time: " << static_cast<double>(clock() - now) / CLOCKS_PER_SEC << std::endl;
}
 
Текущее время: 14:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru