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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
#1

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

02.04.2013, 09:43. Просмотров 772. Ответов 2
Метки нет (Все метки)

Здравствуйте, дорогие форумчане.
Мне нужна ваша помощь.
Как реализовать данную программу?
для натуральных чисел не превосходящих заданного числа N, найти все простые числа, имеющие возрастающую последовательность, сумма цифр которых равна M.
------------
Математически решается эта задача вот как:
1 - выписываем простые все числа не превосходящие N (решето эратосфена).
2 - Проверяем в каждом сумму цифр.
------------
проверять можно по мере выписывания
------------
сумма цифр: 1.остаток от деления на 10 2. делишь число на 10 3, остаток от частного и тд...
------------
Помогите, пожалуйста, реализовать программу. За ранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2013, 09:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка целых данных (найти все простые числа, имеющие возрастающую последовательность, сумма цифр которых равна M) (C++):

Найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M - C++
Здравствуйте, дорогие форумчане. В очередной раз обращаюсь к вам за помощью. Нужно написать программу. Вот задание: Для натуральных...

Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) - C++
Здравствуйте, дорогие форумчане. ----------------------------------- Мне нужна ваша помощь. Вот, собственно, задание: Для всех...

Найти все простые числа от 1000 до 1999, в каждом из которых сумма первой и второй цифр в записи этого числа равна сумме третьей и четвертой. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №14) Найти все простые числа от 1000 до 1999, в каждом из которых сумма первой и...

Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27 - C++
найти все четырёхзначные числа , у которых сумма крайних цифр равна сумме средних цифр , а само число делится на 6 и 27 . В С++

Найти все трехзначные числа, состоящие из разных цифр, сумма которых равна А - C++
Найти все трехзначные числа, которые состоят из разных цифр, а их сумма ровна А (число А вводится с клавиатуры).

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S (S вводить с клавиатуры).

2
salam
165 / 146 / 14
Регистрация: 10.07.2012
Сообщений: 738
02.04.2013, 09:54 #2
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
имеющие возрастающую последовательность
what does it mean?)
0
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
02.04.2013, 18:04  [ТС] #3
Цитата Сообщение от salam Посмотреть сообщение
what does it mean?)
Чтобы они отображались в порядке возрастания.

Добавлено через 4 минуты
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
64
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
 
int main()
{long N,M,s,c,z,i,j,y;
 int f,k,fl2,k1,k2,fl,ind;
 system("cls");
 cout<<"Vvedite chislo N \n";
 cout<<"N=";
 cin>>N;
 cout<<"Vvedite chislo M \n";
 cout<<"M=";
 cin>>M;
 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<<"  "<<ind<<"-e chislo: "<<i<<endl;
                  f=1;
                }
              }
         fl2=1;
       }
     fl=1;s=0;
    }
 if(f==0)
      cout<<endl<<"net takih chusel"<<endl;
  cout<<"conec";
 getch();
}
Я программу то написал, но препод сказал, что тут ошибка. А где? Не могу понять...

Добавлено через 24 минуты
Никто не поможет?(

Добавлено через 7 часов 34 минуты
АП.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2013, 18:04
Привет! Вот еще темы с ответами:

Найти все простые числа, не превосходящие заданного числа, сумма цифр которых, также является простым числом - C++
Срочно нужен код программы в C++ (желательно с комментариями). Я бы разобрался и сам, но на это уйдет время, которого у меня нет :( ...

Найти все трехзначные числа, сумма цифр которых равна заданному целому числу - C++
Задача: Найти все трехзначные числа, сумма цифр которых равна данному целому числу Решение: #include &lt;iostream&gt;; void main() { ...

Найти все трехзначные числа, сумма цифр которых равна данному целому числу - C++
Найти все трехзначные числа?сумма цифр которых равна данному целому числу! Ребята побыстрее надо, заранее спасибо!

Вывести все n-значные числа, сумма цифр которых равна k - C++
Задача такова:Вывести все n-значные числа, сумма цифр которых равна k. Желательно без использования функций(возведение в степень,логарифмы...


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

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

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