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

как будет выглядеть программа? - C++

Восстановить пароль Регистрация
 
 
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 14:45     как будет выглядеть программа? #1
Найти все простые числа не превосходящие число N
 Комментарий модератора 
Правила форума п. 5.5: Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 14:48     как будет выглядеть программа? #2
Можно в лоб.
береш число, и проверяеш его делением с остатком.
и так все числа. Что подходят, записываеш.
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 14:51  [ТС]     как будет выглядеть программа? #3
я просто не понимаю как написать это в с++
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 14:53     как будет выглядеть программа? #4
Ruli, Тебе чтобы изучить, или чтобы сдать?
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
16.01.2013, 14:53     как будет выглядеть программа? #5
напиши на паскале
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 14:54  [ТС]     как будет выглядеть программа? #6
чтобы сдать и объяснить преподователю

Добавлено через 44 секунды
обязательно в с++
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 14:56     как будет выглядеть программа? #7
Ruli, тебе в будующем С++ не понадобиться?
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 14:57  [ТС]     как будет выглядеть программа? #8
думаю что нет
ArmanPrestige
 Аватар для ArmanPrestige
219 / 210 / 50
Регистрация: 15.01.2013
Сообщений: 788
16.01.2013, 15:02     как будет выглядеть программа? #9
Цитата Сообщение от Ruli Посмотреть сообщение
чтобы сдать и объяснить преподователю

Добавлено через 44 секунды
обязательно в с++
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
#include <iostream>
#include <memory.h>
#define S 150000
bool F[40000],B[S];
int P[10000],p=0;
long long pre[]={0,79835127420606,307011790722811,675490692294675,
1182357709860117,1825666731904492,2603717273255596,3515373254256955,
4559774703609068,5736228298250417,7043215380181465,8481171232603598,
10049045128993920,11745741297705187,13571569117886223,15525668198679060,
17608378509778587,19817357312226874,22154562782502270,24618987306923167,
27209541722648039};
int main(){
    int a,b,c,n,Z=(1<<15),Q=S*350;
    std::cin >> n;
    long long ans=pre[n/Q];
    for(a=2;a*a<Z;a++)if(!F[a])for(b=a*a;b<Z;b+=a)F[b]=true;
    for(a=2;a<Z;a++)if(!F[a])P[p++]=a;
    for(a=(n/Q)*Q;a<=n;a+=S){
        memset(B,0,sizeof B);
        for(b=0;b<p;b++)for(c=std::max(2,(a+P[b]-1)/P[b])*P[b]-a;c<S;c+=P[b])B[c]=true;
        if(a==0)B[0]=B[1]=true;
        for(b=0;b<S&&a+b<=n;b++)if(!B[b])ans+=a+b;
    }
    std::cout << ans;
    return 0;
}
вот, держи!
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 15:27  [ТС]     как будет выглядеть программа? #10
я ее еще не проверял, но что-то мне подсказывает что она не правильная
ArmanPrestige
 Аватар для ArmanPrestige
219 / 210 / 50
Регистрация: 15.01.2013
Сообщений: 788
16.01.2013, 15:48     как будет выглядеть программа? #11
Цитата Сообщение от Ruli Посмотреть сообщение
я ее еще не проверял, но что-то мне подсказывает что она не правильная
если вы не понимаете код - это еще не значит что программа не правильная.
программа функционирует и по своей структуре является одним из наиболее быстрых в исполнении.
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 16:02  [ТС]     как будет выглядеть программа? #12
после нажати F9 ввожу произвольное число, но ответ он мне не выдает, почему?
ArmanPrestige
 Аватар для ArmanPrestige
219 / 210 / 50
Регистрация: 15.01.2013
Сообщений: 788
16.01.2013, 17:27     как будет выглядеть программа? #13
Цитата Сообщение от Ruli Посмотреть сообщение
если не сложно помогите с тем кодом разобраться?
вот простой пример. просмотрите код(он конечно не так эффективен как тот, что я скидывал до этого - но зато очень простой и понятный). что не поймете - спрашивайте! (п.с. на работоспособность не проверял - компилятора в данный момент нет под рукой)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
 
int main()
{
  int n, sum=0;
  cin>>n;
  for(int i=2;i<=n;i++)
  {
    for(int j=2;j<i;j++)
      if(i%j==0)goto next;
    sum+=i;
next:;
  }
  cout << sum << endl;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.01.2013, 17:29     как будет выглядеть программа? #14
Как-то так набросал
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
#include <iostream>
#include <vector>
 
std::vector<unsigned int> PrimeNumber(unsigned int n)
{
   std::vector<unsigned int> Res; 
   
    // заполняем решето единицами
   for(std::size_t i = 0; i <= n; ++i)
      Res.push_back(1);
   
   for(std::size_t p = 2; p * p <= n; ++p) 
   {
        // если i - простое (не вычеркнуто)
      if(Res[p] == 1)
      {         
            // то вычеркнем кратные i
         for(std::size_t i = p * p; i <= n; i += p)
         {
            Res[i]=0;
         }
      }
   }
   Res[0] = 0;
   Res[1] = 0;
   return Res;
}
    
int main()
{
   int n;
   std::cin >> n;
   std::vector<unsigned int> Res(PrimeNumber(n));
   for (std::size_t i = 2; i < Res.size(); ++i)
   {
      if (Res[i])
         std::cout << i << " ";
   }
   std::cout << std::endl;
}
http://liveworkspace.org/code/2YWW9y$0
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 17:32  [ТС]     как будет выглядеть программа? #15
спасибо и за это, но когда я ввожу любое число и нажимаю Enter он не выдает ответ, из-за чего это может быть?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.01.2013, 17:36     как будет выглядеть программа? #16
Ruli, куда вводите и кто не выдает?
Этот код необходимо скомпилировать в начале.

Добавлено через 1 минуту
Ruli, а, понял. Запускать нужно из консоли.
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 17:37  [ТС]     как будет выглядеть программа? #17
я запускаю турбо с++ создаю новый файл очищаю поле копирую код и нажимаю F9 он выдает черное окно я там ввожу любое число и оно закрываеться
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.01.2013, 17:38     как будет выглядеть программа? #18
Ruli,
C++
1
std::system("pause");
в конце добавить.
ArmanPrestige
 Аватар для ArmanPrestige
219 / 210 / 50
Регистрация: 15.01.2013
Сообщений: 788
16.01.2013, 17:39     как будет выглядеть программа? #19
перед последней фигурной скобкой добавьте
C++
1
system("pause");
ах, да - мои примеры высчитывают сумму этих чисел, а не печают их по отдельности. неверно проитал вуш просьбу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 17:47     как будет выглядеть программа?
Еще ссылки по теме:

C++ Подскажите, как формула будет выглядеть на С++
Как будет выглядеть блок-схема(алгоритм)? C++
C++ Как будет выглядеть прототип функции умножения?

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

Или воспользуйтесь поиском по форуму:
Ruli
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 16
16.01.2013, 17:47  [ТС]     как будет выглядеть программа? #20
а почему когда ввожу 47 к примеру он выдает 382?
Yandex
Объявления
16.01.2013, 17:47     как будет выглядеть программа?
Ответ Создать тему
Опции темы

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