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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.70
bika
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
30.05.2012, 16:27     Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа #1
Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа. Простые числа это когда они делятся только на себя и на единицу
Пожалуйста помогите решить не получается она неправильно считает
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);}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 16:27     Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа
Посмотрите здесь:

C++ найти все простые числа до n
Функции (Найти все трехзначные простые числа) C++
Найти все простые числа из интервала от 100 до 1000, используя логическую функцию C++
Найти все простые числа от 1000 до 1999, в каждом из которых сумма первой и второй цифр в записи этого числа равна сумме третьей и четвертой. C++
C++ Найти все простые числа С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mind_Hunter
2 / 0 / 1
Регистрация: 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 - само число
Aesonet
23 / 23 / 1
Регистрация: 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 ();
}
Serejke_qq
 Аватар для Serejke_qq
149 / 107 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 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, это копипаста просто)

instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 341
30.05.2012, 19:25     Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа #5
Serejke_qq,

Не по теме:

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

sutop
0 / 0 / 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;
}
Yandex
Объявления
06.08.2015, 00:44     Найти все трехзначные простые числа. Определить функцию позволяющую распознавать простые числа
Ответ Создать тему
Опции темы

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