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

Задача с простыми числами - C++

Восстановить пароль Регистрация
 
muhamet
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 12
20.12.2013, 19:12     Задача с простыми числами #1
составить программу нахождения и печати всех простых чисел,меньших заданного числа N.Подсчитать количество простых чисел.Простым называется число которое делится на 1 и на само себя
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.12.2013, 19:15     Задача с простыми числами #2
Быстрая проверка натурального числа на простоту

думаю цикл, который будет вызывать эту функцию, напишете сами...
muhamet
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 12
20.12.2013, 19:20  [ТС]     Задача с простыми числами #3
нет,я только что познакомился с с++ так что вообще ноль
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
20.12.2013, 19:27     Задача с простыми числами #4
muhamet, так а почему такие задачи решаешь? поучи С++
muhamet
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 12
20.12.2013, 19:35  [ТС]     Задача с простыми числами #5
преподовательница дала такое задание
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
20.12.2013, 19:46     Задача с простыми числами #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
37
38
39
40
41
42
43
44
#include <iostream>
#include <math.h>
int isPrime(unsigned long a)
{
   unsigned long i1, i2, i3, i4, i5, i6, i7, i8, bound;
   if (a == 0 || a == 1)
      return 0;
   if (a == 2 || a == 3 || a == 5 || a == 7 || a == 11 || a == 13 || a == 17 || a == 19 || a == 23 || a == 29)
      return 1;
   if (a%2 == 0 || a%3 == 0 || a%5 == 0 || a%7 == 0 || a%11 == 0 || a%13 == 0 || a%17 == 0 || a%19 == 0 || a%23 == 0 || a%29 == 0)
      return 0;
   bound = sqrt((double)a);
   i1 = 31; i2 = 37; i3 = 41; i4 = 43; i5 = 47; i6 = 49; i7 = 53; i8 = 59;
   while (i8 <= bound && a%i1 && a%i2 && a%i3 && a%i4 && a%i5 && a%i6 && a%i7 && a%i8)
   {
       i1 += 30; i2 += 30; i3 += 30; i4 += 30; i5 += 30; i6 += 30; i7 += 30; i8 += 30;
   }
   if (i8 <= bound ||
      i1 <= bound && a % i1 == 0 ||
      i2 <= bound && a % i2 == 0 ||
      i3 <= bound && a % i3 == 0 ||
      i4 <= bound && a % i4 == 0 ||
      i5 <= bound && a % i5 == 0 ||
      i6 <= bound && a % i6 == 0 ||
      i7 <= bound && a % i7 == 0)
         return 0;
   return 1;
}
 
int main()  {
    std::size_t const N = 30000u;
    std::size_t primeCnt = 0u;
    for(std::size_t i = 0; i < N; ++i)
        if( isPrime(i) )
        {
            std::cout << i << (primeCnt % 5u ? " " : "\n");
            ++primeCnt;
        }
    std::cout << std::endl;
    std::cout << "Всего простых чисел от 0 до "  << N << ": "
                 << primeCnt << " штук." << std::endl;
 
    return EXIT_SUCCESS;
}
Вот держите. Правда все прямолинейно и в лоб, но работает.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
20.12.2013, 19:47     Задача с простыми числами #7
muhamet, напишите более конкретные вопросы. Не такие, вида: "Как выучить С++?", "Напишите задачу" и т.д. А такие:
1) Как проверить число на простоту
2) Как сделать вывод строки
и т.д. Сделайте хоть что-нибудь!
Ev_Hyper
20.12.2013, 19:53
  #8

Не по теме:

Цитата Сообщение от muhamet Посмотреть сообщение
преподовательница дала такое задание
а следующую задачу, которую вам даст преподовательница, вы тоже сразу же тут тему создадите?

Akapylechka
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 1
20.12.2013, 20:43     Задача с простыми числами #9
=)
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
#include <stdio.h>
#include <math.h>
 
void main ()
{
    unsigned int N, i, j, k=0, n=0;
    scanf("%u", &N);
    for(i=2; i<N; i++)
    {
        k=0;
        for(j=1; j<=i; j++)
        {
            if(i%j==0)
                k++;
        }
        if(k<=2)
        {
            printf("%u ", i);
            n++;
        }
    }
    printf(":%u ", n);
    scanf("%u", &N);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2013, 21:33     Задача с простыми числами
Еще ссылки по теме:

C++ Найти все натуральные числа меньше N, которые одновременно являются числами Фибоначчи и простыми числами.
C++ Создать двусвязный список с простыми числами
C++ Заполнить массив n*m простыми числами

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

Или воспользуйтесь поиском по форуму:
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
20.12.2013, 21:33     Задача с простыми числами #10
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>
using namespace std;
 bool Simple (int &N)
 {
 bool rez=true;
for(int k=2;k<=N/2;k++)
   if (N%k==0) rez=false;
 return rez;
}
  int main(){
      int P;
      cout<<"введем число до которого считаем";
      cin>>P;
 int N=1,m=0;
 for (int i=N;i<=P;i++)
{
if (Simple(i)==true){m++;cout<<i<<" ";
}
}
cout<<m<<endl;
return 0;
}
Yandex
Объявления
20.12.2013, 21:33     Задача с простыми числами
Ответ Создать тему
Опции темы

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