Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/33: Рейтинг темы: голосов - 33, средняя оценка - 4.52
bika
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
1

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

30.05.2012, 16:27. Просмотров 6008. Ответов 5
Метки нет (Все метки)

Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только на себя и на единицу
Пожалуйста помогите решить не получается она неправильно считает
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
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
int fun(int n,int m);
main ()
{int s,n,m;
s=fun(n,m);
return 0;}
int fun(int n,int m)
{int a[30],j,i;
int x,y,z,h;
cout<<"vvedite diapozon-";
cin>>n>>m;
j=1;
for (i=n; i<=m; i++)
x=i%2;
y=i%3;
z=i%5;
if ((x!=0)&&(y!=0)&&(z!=0))
{a[j]=i; j++; }
for (i=1; i<=j; i++)
cout<<a[i]<<" ";
getch ();
return (z);}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 16:27
Ответы с готовыми решениями:

Определить процедуру, позволяющую распознавать простые числа
Дано четное число n&gt;2; проверить для этого числа гипотенузу Гольдбаха. Эта гипотенуза заключается в...

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

Функции (Найти все трехзначные простые числа)
Найти все трехзначные простые числа, определив функцию, позволяющую распознавать простые числа.

Задача про простые числа. Выпишите все простые числа, находящиеся в интервале между а и б
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using std::cout;...

Найти все простые числа из интервала от 100 до 1000, используя логическую функцию
Нужно написать программу, буду премного благодарен) Знаю, что на самом деле тут всё просто, но я...

5
Mind_Hunter
2 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 120
30.05.2012, 18:05 2
Вик, я тоже долблюсь над этой задачей))) короче она должна проверять числа следующим образом
C++
1
2
for (i = 2; i<sqrt(n); i++) {
    if (n % i == 0)}
где n - само число
0
Aesonet
24 / 24 / 10
Регистрация: 04.04.2012
Сообщений: 119
30.05.2012, 18:18 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
int n,m;
int a[30],j,i;
int main ()
{
cout<<"vvedite diapozon-";
cin>>n>>m;
j=1;
for (i=n; i<=m; i++) 
{
if (i%2!=0 && i%3!=0 && i%5!=0 && i%7!=0 && i%9!=0&& i%11!=0) // может много параметров исправьте меня :)
{a[j]=i; j++; }}
for (i=1; i<j; i++)
cout<<a[i]<<" ";
getch ();
}
0
Serejke_qq
178 / 126 / 52
Регистрация: 06.07.2011
Сообщений: 271
Завершенные тесты: 2
30.05.2012, 19:24 4
C++
1
2
3
4
5
6
7
8
template<class Type>    bool IsPrime(Type value)
{
    for(Type i=2;i<=value/2;i++)
        if((value%i)==0)
            return 0;
 
    return 1;
}
Данная функция возращает 1 если число простое, иначе 0.

Не по теме:

instagib, это копипаста просто:D)

0
instagib
122 / 85 / 16
Регистрация: 14.02.2011
Сообщений: 340
30.05.2012, 19:25 5
Serejke_qq,

Не по теме:

для новичков можно было и попроще написать, без шаблонов

0
sutop
1 / 1 / 1
Регистрация: 30.07.2015
Сообщений: 8
06.08.2015, 00:44 6
Если использовать вектор - то можно избежать полного перебора.
Уверен, можно сделать элегантнее, но данный код будет работать достаточно быстро.
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
06.08.2015, 00:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.08.2015, 00:44

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

Найти все натуральные числа, меньшие заданного числа и взаимно простые с ним
Дано натуральное число n. Необходимо получить все натуральные числа, меньшие nn и взаимно простые с...

Найти все простые числа меньшие заданного числа
Помогите Пожалуйста! Простое число это число которое делится только на 1 и на самого себя....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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