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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Геометрия(треугольник) http://www.cyberforum.ru/cpp-beginners/thread100053.html
Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник, и если да, то будет ли он прямоугольным.
C++ Последовательность Дана последовательность целых чисел . Выяснить, какое число встречается раньше — положительное или отрицательное. http://www.cyberforum.ru/cpp-beginners/thread100052.html
Найти среди компонентов файла количество чисел, которые делятся на 2, но не делятся на 4 C++
Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Найти среди компонентов файла количество чисел, которые делятся на 2, но не делятся на 4.
C++ Дана строка. Подсчитать, сколько в ней букв r, k, t
Дана строка. Подсчитать, сколько в ней букв r, k, t.
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread100049.html
Заполнить матрицу случайными числами. Отобразить симметрично относительно вертикальной оси секторы матрицы, которые лежат влево и вправо от главной и побочной диагоналей.
C++ Найти сумму тех членов ряда, модуль которых больше или равен заданному ε Даны числовой ряд и некоторое число ε. Найти сумму тех членов ряда, модуль которых больше или равен заданному ε. Общий член ряда имеет вид: подробнее

Показать сообщение отдельно
freeman27015
50 / 49 / 2
Регистрация: 19.03.2009
Сообщений: 320

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

28.02.2010, 23:13. Просмотров 1043. Ответов 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, а вычислил бы до него.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru