Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
58 / 57 / 3
Регистрация: 19.03.2009
Сообщений: 320
1

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

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

Author24 — интернет-сервис помощи студентам
в книге написана программа, про вычисление простых чисел.

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, а вычислил бы до него.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2010, 23:13
Ответы с готовыми решениями:

Вычисление суммы простых чисел
Написать программу, которая вычисляет сумму простых чисел от 1 до*n, введенного с клавиатуры....

Вычисление суммы квадратов простых чисел, лежащих в заданном интервале
Составить программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N).

Вычисление простых чисел до 1000
#include &lt;stdio.h&gt; #include &lt;stdbool.h&gt; bool isPrime(int i) { bool prime = true; int count =...

Вычисление суммы квадратов простых чисел
помогите товарищи программисты,плиз. Напишите программу вычисления суммы квадратов простых чисел,...

4
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
01.03.2010, 00:44 2
Я посмотрелв книжке Брайнда Оверленда "C++ без страха" синтаксис, там оба операнда должны быть типа int, так что в книге ошибка.
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
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;
1
58 / 57 / 3
Регистрация: 19.03.2009
Сообщений: 320
01.03.2010, 21:32  [ТС] 4
спасибо. теперь все заработало.
в чем будет разница между (static_cast<double>(n)) и ((double)n) ?
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
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)
Так что удобство с точки зрения читабельности.
1
01.03.2010, 22:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2010, 22:04
Помогаю со студенческими работами здесь

Вычисление суммы простых чисел, лежащих на интервале
составить программу вычисления суммы простых чисел, лежащих на интервале (Т, 2Т-1) (Т&gt;2)

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

Вычисление суммы квадратов простых чисел, лежащих в заданном интервале (процедуры и функции)
Требуется помощь в написании программы по поставленной задаче. Суть такова: &quot;Напишите программу...

Нахождение простых, взаимно-простых и парно-простых чисел из указанного диапазона
Нужна помощь мне нужно создать программу для нахождение простых,взаимнопростых и парно простых...

Найти первые десять простых чисел (остаток от деления простых целых)
procedure TForm1.Button1Click(Sender: TObject); var i, k, count, primes: word; n:integer; begin...

Определите x,y,z где, x - множество целых чисел от 5 до 33, y - мн-во простых чисел, z - мн-во составных чисел
Определите x,y,z где,x-множество целых чисел от 5 до 33, y-множество простых чисел, z-множество...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru