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

Простые числа - C++

Восстановить пароль Регистрация
 
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
19.11.2011, 16:41     Простые числа #1
Проверить является ли введеное число простым или нет.
 Комментарий модератора 
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2011, 16:41     Простые числа
Посмотрите здесь:

C++ Даны целые числа р и q. Получить все делители числа q, взаимно простые с р
Даны целые числа р и q. Получить все делители числа q, взаимно простые с р. C++
C++ Даны натуральные числа a,b(a<= Ь). Получить все простые числа р, удовлетворяющие неравенствам a<= р<= b.
не могу понять задачку :) Даны натуральные числа p и q. Получить все делители числа q, взаимно простые с p C++
C++ Одномерный массив. Вывести на экран все числа, индексы которых есть простые числа.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
19.11.2011, 17:26     Простые числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include <conio.h>
using namespace std;
void main()
{
    unsigned int a,b,i;
    cout<<"Enter number "<<endl;
    cin>>a;
    bool sloznoe=false;
    for(i=2;i<a;i++){//считаем с 2х, т к 0, 1, 2- простые числа
        if(a%i==0){
            sloznoe=true;//если хоть олин раз поделилось на меньшее число без остатка, то значит число сложное
                goto e;// прервём цикл, нет смысла дальше считать, уже выяснили }
    }
 
e:;
        if(sloznoe==true)
            cout<<"Number is difficult"<<endl;// сложное
        else
            cout<<"Number is easy"<<endl;// простое
    getch();
}
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
19.11.2011, 17:35  [ТС]     Простые числа #3
спасибо
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
19.11.2011, 17:42     Простые числа #4
Незачто
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
19.11.2011, 18:21     Простые числа #5
C++
1
e:;
вроде ";" здесь не нужна, и вы потеряли одну закрывающую скобку. Во всяком случае такой код вы выложили
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
19.11.2011, 21:33  [ТС]     Простые числа #6
Кстати, я заменил на оператор break;
C++
1
goto e;
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
19.11.2011, 22:51     Простые числа #7
Цитата Сообщение от DenCHS200 Посмотреть сообщение
/считаем с 2х, т к 0, 1, 2- простые числа
1 - не простое число.

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
 
bool isBool (int n)
{
    if (n==2) return true;
 
    for (int i=2; i<=int(sqrt(n*1.0))+1; ++i)
        if (n % i ==0) return false;
    return true;
}
 
 
 
int main()
{
    int n;
    std:: cin >> n;
    if (n==1) std:: cout << "1 - Not prime, Not composite \n";
    else std:: cout <<(isBool(n) ? "Prime" : "Composite") <<"\n";
    system ("pause");
    return 0;
}
Я бы писал так. К тому же метки не нужно использовать.
Xind
275 / 148 / 7
Регистрация: 05.11.2011
Сообщений: 425
Записей в блоге: 1
19.11.2011, 22:53     Простые числа #8
Цитата Сообщение от Dani Посмотреть сообщение
1 - не простое число.
Стоит еще добавить, чтобы человек дальше понимал простые числа
Цитата Сообщение от http://ru.wikipedia.org/wiki/1_(число)
В настоящее время в математике принято не относить единицу ни к простым, ни к составным числам, так как это нарушает важную для теории чисел единственность разложения на множители. Последним из профессиональных математиков, кто рассматривал 1 как простое число, был Анри Лебег в 1899 году. При этом некоторые совершают подобную ошибку и поныне: так, Карл Саган включил 1 в список простых чисел в своей книге «Контакт», вышедшей в 1985 году.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
19.11.2011, 22:54     Простые числа #9
Dani, условие можно таким сделать
i<=int(sqrt(n*1.0)),
а еще лучше корень до цикла вычислить, чтобы много раз одно и тоже не вычислять
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
19.11.2011, 22:57     Простые числа #10
Цитата Сообщение от Thinker Посмотреть сообщение
i<=int(sqrt(n*1.0)),
а еще лучше корень до цикла вычислить, чтобы много раз одно и тоже не вычислять
ну это конечно, но врядли тут требуется.

Цитата Сообщение от Xind Посмотреть сообщение
Стоит еще добавить, чтобы человек дальше понимал простые числа
Можно так объяснить: по определению, у простого числа 2 делителя - 1 и само число. Но т.к. 1 и имеет 1 делитель (только 1), то 1 - не простое. По определению составное число - число, имеющее 3 и более делителей - 1, само число и другие делители. Т.к. у 1 есть только 1 делитель, а не 3 и более, то это число не составное.
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
19.11.2011, 22:57     Простые числа #11
Нравится мне с метками- пишу с метками. А то что скобку закрывающую потерял - это мистика, т. к. у меня в листинге всё на месте!
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
19.11.2011, 23:04     Простые числа #12
У простых чисел есть четкое определение. Целое число называется простым, если оно имеет ровно два делителя. При этом в качестве делителей рассматриваются только натуральные числа.

Цитата Сообщение от Dani Посмотреть сообщение
ну это конечно, но врядли тут требуется.

Не по теме:

Dani, хороший стиль программирования в крови должен сидеть Даже пустяшную задачу рука не поднимется коряво написать

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2011, 23:05     Простые числа
Еще ссылки по теме:

C++ Дано натуральное число. Вывести на экран все простые числа до заданного числа.
Даны натуральные числа p и q. Получить все делители числа q, взаимно простые к p C++
C++ Вывести все простые числа до заданного числа

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

Или воспользуйтесь поиском по форуму:
Dani
19.11.2011, 23:05     Простые числа
  #13

Не по теме:

Никто не возражает

Yandex
Объявления
19.11.2011, 23:05     Простые числа
Ответ Создать тему
Опции темы

Текущее время: 22:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru