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

Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели на функции. Вычислить. http://www.cyberforum.ru/cpp-beginners/thread830787.html
помогите пожалуйста написать код сделать через Указатели на функции:cry:я вообше не понимаю как это делать . \sum_{i=1}^{100}\sum_{j=1}^{50}\frac{1}{i+j^2}? Добавлено через 1 минуту...
C++ Нарисовать параллелограм в консоли нужно чтоб в в консоли был выведен параллелограмм))) сделать в с++ http://www.cyberforum.ru/cpp-beginners/thread830783.html
C++ Тип элемента вектора
Привет. Использую векторы, появилась задача - получить тип элемента текущего вектора. Чтобы было понятнее - вот код: #include <vector> // Объявление вектора ObjectList //....... for(int i =...
класс списка C++
Добрый день, у меня программа работает, НО нужно исправить всё и сделать так, чтобы у меня был класс список, а она другим способом написана. что КОНКРЕТНО мне нужно исправить? у меня проблемы с...
C++ не получается создать dll http://www.cyberforum.ru/cpp-beginners/thread830732.html
Всем привет, пытался создать DLL, но при вызове функции из DLL функции возникает следующая ошибка: ошибка при запуске приложения (0xc000000d). Для выхода из приложения нажмите кнопку ОК. вот...
C++ с++ и arduino Всем привет. Есть платформа arduino uno v3 и датчик температуры DHT11. Есть такой код который загружается в контроллер и через монитор проги я смотрю данные. Вопрос: как я могу получить ... подробнее

Показать сообщение отдельно
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209

Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) - C++

07.04.2013, 20:15. Просмотров 633. Ответов 7
Метки (Все метки)

Здравствуйте, дорогие форумчане.
-----------------------------------
Мне нужна ваша помощь.
Вот, собственно, задание:
Для всех натуральных чисел, не превосходящих заданного числа N, найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M.
-----------------------------------
Вот моя программа:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <locale.h>
using namespace std;
 
int main()
{long N,s,c,z,i,j,y;
 setlocale (LC_ALL, "rus");
 int f,k,fl2,k1,k2,fl,ind;
 system("cls"); 
 cout<<"Введите число N: \n";
 cout<<"\nN=";
 cin>>N;
 s=0;ind=0;
 f=0;fl=1;
 c=1;fl2=1;
 for(k=1;k<N;k++)
     c*=10;
 c*=N;
 for(i=31;i<=c;i=i+2)
    {
     for(j=3;j<i;j=j+2)
           {
             z=i%j;
             if(z==0)
                {
                  fl=0;
                }
          }
     if(fl==1)
        {
          for(y=i;y>0;y/=10)
                s+=(y%10);
          if(s==N)
             {
              for(y=i;y>0;y/=10)
                   {
                     k1=y%10;
                     k2=((y/10)%10);
                     if(y<10)
                     if(k2==0)
                     k2=k1+1;
                     if(k1>=k2)
                     fl2=0;
                   }
               if(fl2==1)
                {
                  ind++;
                  cout<<"\n"<<ind<<"-e число: "<<i<<endl;
                  f=1;
                }
              }
         fl2=1;
       }
     fl=1;s=0;
    }
 if(f==0)
      cout<<endl<<"\nТаких простых чисел нет!"<<endl;
  cout<<"\nКонец.";
 getch();
}
-------------------
Но у меня не так выводит.
Должно выводиться вот так:
N=50
M=4
Ответ: 13
------------------
Т.е. цифры числа должны складываться. Так как M=4, то 1+3=4, исходя из этого, ответ: 13. (Рассматриваем только простые числа)
------------------
Подскажите, пожалуйста, как допилить программу, как мне надо. За ранее - спасибо. С меня много +.

Добавлено через 11 минут
Никто не выручит?

Добавлено через 17 минут
Пожалуйста, помогите.

Добавлено через 39 минут
АП.

Добавлено через 35 минут
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int main()
 
{
    system("cls");
int N,M,i,j,k;
 
 cout<<"Vvedite N:\n\nN=";
 cin>>N;
  cout<<"Vvedite M:\n\nM=";
 cin>>M;
 
 if (M>490) cout<<"\ntakie chisla v dannoi programme ne rassmatrivautcya";
 else
 {
  cout<<endl<<"Rezul'tat:\n\n";
  if (M<3) cout<<"takih chisel net";
  else {
 
 for(i=0;i<9;i++)
   for(j=0;j<9;j++)
     for(k=1;k<=9;k++)
 
       if((i<j)&&(j<k)&&((i+j+k)==M))  cout<<i<<j<<k<<" ";
      }
 }
 getch(); }
Примерно разобрался, только один вопрос:
Куда в эту программу нужно вставить код проверки на простые числа?

Добавлено через 8 минут
АП.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru