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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
freeman27015
50 / 49 / 2
Регистрация: 19.03.2009
Сообщений: 320
#1

вычисление простых чисел - C++

28.02.2010, 23:13. Просмотров 1023. Ответов 4
Метки нет (Все метки)

в книге написана программа, про вычисление простых чисел.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int n;
    bool prostoe = true;
    double koren = sqrt(double(n));
    cout <<"vvedite chislo ";
    cin >> n;
    for (int i=2; i<=koren; i++){
        if(koren%i==0)  
         prostoe = false;
         break;
            }
        if (prostoe) {
            cout <<"prostoe";}
        else {cout <<"ne prostoe";}
    system("pause");
    return 0;
}
но у меня в DevC++ выдает ошибку:
invalid operands of types `double' and `int' to binary `operator%'
программу конечно можно исправить

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    int n;
    bool prostoe = true;
    cout <<"vvedite chislo ";
    cin >> n;
    for (int i=2; i<=sqrt(static_cast<double>(n)); i++){
        if(n%i==0)  
         prostoe = false;
         break;
            }
        if (prostoe) {
            cout <<"prostoe";}
        else {cout <<"ne prostoe";}
    system("pause");
    return 0;
}
но возникает вопрос, в книге опечатка или может я не так чтото понял ?
и кстати в чем будет разница между sqrt(static_cast<double>(n)) и sqrt((double)n) ?
и как можно сделать чтобы я во время цикла не вычислял sqrt, а вычислил бы до него.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 23:13     вычисление простых чисел
Посмотрите здесь:

Последовательность чисел, определить среднее арифметическое простых чисел - C++
Вводится последовательность целых чисел, 0 – конец последовательности. Определить среднее арифметическое простых чисел ...

Нахождение простых чисел.( - C++
Люди я все понимаю, этот вопрос наверное покажется глупым, точнее он таковым и является. Программа нахождения простых чисел cin &gt;&gt;...

Поиск простых чисел - C++
Знаю, что тема избитая, но решил написать алгоритм поиска простых чисел. int j,i,k /*количество простых*/ ,nech,prime; ...

Поиск простых чисел - C++
Почему мне возвращает просто непарные числа? в чем загвоздка #include &lt;iostream&gt; bool prost(int); using namespace std; int...

Поиск простых чисел - C++
to idetify if the given K is prime or not. Prime number is the number that can be divided by 1 and by itself ONLY. If given number is...

Нахождение простых чисел в С++ - C++
Уважаемые форумчане, помогите пожалуйста сделать прогу работающей: #include&lt;iostream&gt; using namespace std; int main(){ int N,...

Вывод простых чисел от m до n - C++
Здравствуйте! Возникла проблемка с задачкой. Требуется вывести все простые числа от m до n, при условии, что 2&lt;=m&lt;=n&lt;=1000000. Если нет...

Сортировка Простых чисел - C++
Это код сортировки простых чисел int flAg=0;// Сравнитель обычно такую вещь называю int counter=0; // счетчик int number=1000;//...

Поиск простых чисел - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;locale.h&gt; using namespace std; int y; bool m; bool nom( int...

Вывод простых чисел - C++
задали задачу написать ряд простых чисел,у самого мозгов не хватило толком ее написать,написал с миру по нитке,без ввода с клавиатуры с...

цикл простых чисел - C++
Дана последовательность натуральных чисел длины n. Вычислить сумму тех из них, которые – простые числа.

Поиск простых чисел - C++
3. Разработать программу поиска простых чисел в отрезке (1..N) целых положительных чисел. Программа должна найти и выдать в виде списка все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
01.03.2010, 00:44     вычисление простых чисел #2
Я посмотрелв книжке Брайнда Оверленда "C++ без страха" синтаксис, там оба операнда должны быть типа int, так что в книге ошибка.
mirso
524 / 342 / 17
Регистрация: 05.04.2009
Сообщений: 709
01.03.2010, 00:53     вычисление простых чисел #3
freeman27015,
там точно ашыпки!
Цитата Сообщение от freeman27015 Посмотреть сообщение
double koren = sqrt(double(n));
* * cout <<"vvedite chislo ";
* * cin >> n;
должно быть наоборот
C++
1
2
3
    cout <<"vvedite chislo ";
    cin >> n;
    double koren = sqrt(double(n));
иначе зачем cin >> n;
freeman27015
50 / 49 / 2
Регистрация: 19.03.2009
Сообщений: 320
01.03.2010, 21:32  [ТС]     вычисление простых чисел #4
спасибо. теперь все заработало.
в чем будет разница между (static_cast<double>(n)) и ((double)n) ?
mirso
524 / 342 / 17
Регистрация: 05.04.2009
Сообщений: 709
01.03.2010, 22:04     вычисление простых чисел #5
Цитата Сообщение от freeman27015 Посмотреть сообщение
в чем будет разница между (static_cast<double>(n)) и ((double)n) ?
Мое мнение такое - просматривая огромный код,
программисту понятнее что делается в этой операции
C++
1
i = sqrt(static_cast<double>(n)
чем просто
C++
1
 i = sqrt(double(n))
Цитата Сообщение от freeman27015 Посмотреть сообщение
sqrt(static_cast<double>(n))
и sqrt((double)n)
Так что удобство с точки зрения читабельности.
Yandex
Объявления
01.03.2010, 22:04     вычисление простых чисел
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru