Форум программистов, компьютерный форум, киберфорум
Наши страницы

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Копирование файла не используя системные библиотеки. нужен совет http://www.cyberforum.ru/cpp-beginners/thread591438.html
Нужно скопировать один файл в другой( названия вводятся с клавиатуры). написал, но не работает комп виснит, а в директории появляется файл весом 75мб, совершенно с другими символами. может быть ыв...
C++ Вывести для массива на экран сначала элементы, стоящие на четных местах, потом — на нечетных Есть небольшое задание, нужна помощь: 1) Использование условий для изменения элементов массива и вывода их на экран >> Задан массив. Вывести на экран сначала его элементы, стоящие на четных... http://www.cyberforum.ru/cpp-beginners/thread591437.html
Перевод времени C++
Написать программу которая переводит время из минут и секунд в секунды. Программа должна проверять правильность введенных пользователем данных и в случае, если данные не верны то вывести...
C++ Сортировка списка прямыми включениями (вставками)
Ребята кто может помогите с курсовой. Пытаюсь написать класс двунаправленного списка. Проблема возникла с функцией добавления addToList. При добавлении нового элемента он должен проходить по...
C++ Проверка на утечку памяти http://www.cyberforum.ru/cpp-beginners/thread591421.html
Всем доброго времени суток. Сразу оговорюсь, я не профессионал, программирование - моё хобби, которое помогает мне по основному направлению. Так недавно я написал небольшую программку на Qt. Хоть я и...
C++ С чего начать приветствую я Алексей 35 лет.. щас есть свободное время вот думаю начать программировать давно хотел.. что можете посоветовать? начинаю с Липпмана С ++ вводный курс.. подробнее

Показать сообщение отдельно
sutop
0 / 0 / 1
Регистрация: 30.07.2015
Сообщений: 8
06.08.2015, 00:44
Если использовать вектор - то можно избежать полного перебора.
Уверен, можно сделать элегантнее, но данный код будет работать достаточно быстро.
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
#include <iostream>
#include <vector>
 
typedef unsigned long ulong;
 
int main(){
    ulong low=0;
    ulong hight=0;
 
    std::cout<<"Enter low and hight number: \n";
    std::cin>>low>>hight;
 
    if(low>hight) {std::cout<<"Error range\n"; return 1;}
 
    std::vector<ulong> en;
    en.push_back(1);
    en.push_back(2); // Для работы необходимы начальные условия
 
    bool is_en; // Предикат проверяемого числа
 
    for(ulong i=2;i<=hight;i++){
    is_en = true;
        for(int k=1;k<en.size();k++)
            if(i%en[k]==0) { // Проверяем, делится ли без остатка на элементы списка
                is_en = false;
                break;}
        if(is_en) en.push_back(i); // Нашли целое число!
    }
 
    std::cout<<"Done!\n";
    for(int i=0;i<en.size();i++) // Выводим только значения в диапазоне
        if(low<=en[i] && hight>=en[i])std::cout<<en[i]<<"\t";
    std::cout<<"\n";
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru