Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 0
Регистрация: 19.11.2017
Сообщений: 17
1

Вывести все N-значные числа, которые не содержат цифру D, в возрастающем порядке

06.12.2017, 09:58. Показов 1424. Ответов 1
Метки нет (Все метки)

Вам даны число N и цифра D. Выведите все N-значные числа, которые не содержат цифру D, в возрастающем порядке.
N до 7, D до 9
Вход 1 3
Выход 0 1 2 4 5 6 7 8 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
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
      int N, D, ost, n, k;
      cin >> N >> D;
      
      if(N == 1){
        n = 0;
        k = 10;
      } else if ( N == 2){
        n = 10;
        k = 100;
      } else if ( N == 3){
        n = 100;
        k = 1000;
      } else if ( N == 4){
        n = 1000;
        k = 10000;
      } else if ( N == 5){
        n = 10000;
        k = 100000;
      } else if ( N == 6){
        n = 100000;
        k = 1000000;
      } else if ( N == 7){
        n = 10000000;
        k = 100000000;
      } 
      
       
      for(int i = n; i < k ; i++){
      vector<int> a;
      int k = 0;
      
        if(i >= 10){
         while(i > 10){
               ost = i % 10;
               i /=10;
               a.push_back(ost);
             }
             
         for(int j = 0; j < a.size()-1; j++){
            if(a[j] != D ){
                k ++;
               }else{
               k = 0;
               }
               
               if(k != 0){
                cout << i << endl;
               }
           }
        
         }
        
        if(i < 10){
             if(i != D){
                cout << i << endl;
               }
          }
        
        
        
        
        
      }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2017, 09:58
Ответы с готовыми решениями:

Найти и вывести на экран все двузначные числа, которые содержат цифру 3. Определить их количество и сумму.
Найти и вывести на экран все двузначные числа, которые содержат цифру 3. Определить их количество и...

Вывести на экран сначала сумму, потом все эти числа, далее все четные среди них числа в возрастающем порядке
3. Дано натуральное число B (2&lt;B&lt;1950). Составить программу, которая с помощью функции Random...

Напечатать в возрастающем порядке все цифры которые нет в записи данного числа
Дано натуральое число n.Напечатать в возрастающем порядке все цифры которые нет в записи данного...

Найти все двузначные числа, которые делятся на n или содержат цифру n
Помогите пожалуйста сделать программу по С++ &quot;найти все двузначные числа которые делятся на n или...

1
Модератор
Эксперт С++
11481 / 9399 / 5649
Регистрация: 18.12.2011
Сообщений: 25,108
06.12.2017, 11:41 2
Цитата Сообщение от kirrilf Посмотреть сообщение
for(int i = n; i < k ; i++){
А далее внутри портите переменную цикла:
Цитата Сообщение от kirrilf Посмотреть сообщение
i /=10;

И что-то Вы перемудрили
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
#include<iostream>
//#include <cmath>
using namespace std;
// у меня в VS2010 нет функции int pow(int,int);
int pow(int a,int b)
{
    int t=1;
    for(int i=1;i<=b;i++)
        t*=a;
    return t;
}
int main()
{
    int N, D;
    cin >> N >> D;
 
    int n = pow(10,N-1);
    int k = pow(10,N);
 
    for(int i = n; i < k ; i++)
    {
        int itemp=i;
        bool present=false;
        while(itemp > 0){
            if(itemp % 10==D)
            {
                present=true;
                break;
            }
            itemp/=10;
        }
        if(!present)
            cout << i << endl;
    }
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2017, 11:41

Найти все двузначные числа, которые делятся на n или содержат цифру n
Добрый день. Снова нужна помощь Задание у сына по информатике: &quot;Найти все двузначные числа,...

Выведите все двухзначные числа, которые делятся на N, или содержат цифру N
Выведите все двухзначные числа ,которые делятся на N или содержат цифру N,где N-цифра введенная...

Выведите все двузначные числа, которые делятся на N или содержат цифру N
Выведите все двузначные числа, которые делятся на N или содержат цифру N, где N – цифра, введенная...

Найти все двузначные числа, которые делятся на n или содержат цифру n
Найти все двузначные числа, которые делятся на n или содержат цифру n Добавлено через 20 минут...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru