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

Будьте добры написать программу на с++ - C++

Восстановить пароль Регистрация
 
kykyryza
0 / 0 / 0
Регистрация: 26.10.2009
Сообщений: 13
27.10.2009, 15:02     Будьте добры написать программу на с++ #1
Для заданного натурального числа N найти все целые числа, имеющие убывающую последовательность цифр, сумма которых равна N
помогите в написании программы , одна просьба написать на легком c++ ,без сложных операторов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
27.10.2009, 15:11     Будьте добры написать программу на с++ #2
лёгкий С++ ? уясе))) а есть тяжёлый? может ты на СИ хочешь?
kykyryza
0 / 0 / 0
Регистрация: 26.10.2009
Сообщений: 13
27.10.2009, 15:21  [ТС]     Будьте добры написать программу на с++ #3
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{long N,s,c,z,i,j,y;
 int f,k,fl2,k1,k2,fl,ind;
 clrscr();    
 cout<<" vvedite chislo N ";
 cout<<"  N=";
 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<<"  "<<ind<<" chislo: "<<i<<endl;
                  f=1;
                }
              }
         fl2=1;
       }
     fl=1;s=0;
    }
 if(f==0)
      cout<<endl<<"net takih chusel"<<endl;
  cout<<"conec";
 getch();
}
Вот примерно на таком c++ )))
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
27.10.2009, 15:25     Будьте добры написать программу на с++ #4
Цитата Сообщение от kykyryza Посмотреть сообщение
имеющие убывающую последовательность цифр
а по конкретней можно!? или пример привести
kykyryza
0 / 0 / 0
Регистрация: 26.10.2009
Сообщений: 13
27.10.2009, 15:40  [ТС]     Будьте добры написать программу на с++ #5
Для начала необходимо найти простые числа, сумма цифр которых равна N в диапазоне от 1 до т.к.
число большее уже не будет удовлетворять условию убывающей последовательности цифр.
Для этого: 1) проверяем этот диапазон на наличие простых чисел.
2) если простые числа есть, то сумму цифр каждого из них проверяем на равенство с N.
Нужно каждую цифру заданного числа i(1…N) сравнить с цифрой разрядом выше: больше она или меньше
3)Далее проверяем цифры числа на убывающую последовательность
вот пример Проверка:
N=4;
Результат: 31;
N=7;
Результат: 43, 61, 421.
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
27.10.2009, 16:12     Будьте добры написать программу на с++ #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
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
 
 
int SumNumb(int numb)
{
 int summ=0;
 while (numb>=10)
 {
        summ+=numb%10;
        numb=numb/10;
 }
 
 return (summ+numb);
}
 
void main()
{
    int nSize, N;
    cout<<"  vvedite max diapazon="; cin>>nSize;
    cout<<" vvedite chislo N ";
    cout<<"  N="; cin>>N;
    
 
    //Решето Эратосфена реализация
    // поиск простых чисел
    // есть ещё один вариант поиска простых чисел 
    // но этот мне больше нравиться
        nSize++;
        bool* bArray = new bool [nSize];
 
        memset(bArray, 1, nSize);  // заполняет массив bArray единицами
            
  
        for(int i = 2; i < nSize; ++i)
            if(bArray[i])
                for(int j = i*i; j < nSize; j += i)
                    bArray[j] = false;
        
        
        for(int i = 2; i < nSize; ++i)
            if(bArray[i]) // тут мы имеем простые числа
            {
        if (SumNumb(i)==N)
         cout<<" "<<i;
            }
 
        cout << endl;
 
    getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2009, 20:50     Будьте добры написать программу на с++
Еще ссылки по теме:

Написать программу C++
Написать программу C++
C++ Будьте добры, исправьте ошибку в коде

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

Или воспользуйтесь поиском по форуму:
kykyryza
0 / 0 / 0
Регистрация: 26.10.2009
Сообщений: 13
27.10.2009, 20:50  [ТС]     Будьте добры написать программу на с++ #7
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{long N,s,c,z,i,j,y;
 int f,k,fl2,k1,k2,fl,ind;
 clrscr();    
 cout<<" vvedite chislo N ";
 cout<<"  N=";
 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<<"  "<<ind<<" chislo: "<<i<<endl;
                  f=1;
                }
              }
         fl2=1;
       }
     fl=1;s=0;
Тант сделай пжлста по примеру котороый выше , я думаю тебе это будет легче

Добавлено через 1 час 49 минут
сделайте попроще, пример выще
Yandex
Объявления
27.10.2009, 20:50     Будьте добры написать программу на с++
Ответ Создать тему
Опции темы

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