Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Енс
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 7
1

Найти наименьшее натуральное число отсутствующее в последовательности

16.01.2013, 18:24. Просмотров 1439. Ответов 9
Метки нет (Все метки)

Введите последовательность из n натуральных чисел. Найти наименьшее натуральное число отсутствующее в последовательности
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 18:24
Ответы с готовыми решениями:

Найти наименьшее натуральное число отсутствующее в последовательности
Помогите пожалуйста разобраться с решением следующей задачки. Введите...

Определить наименьшее натуральное число, отсутствующее в массиве
В одномерном массиве, состоящем из п натуральных чисел, вычислить: -...

Найти наименьшее натуральное число, которое отсутствует в последовательности и определить его делители.
Дана последовательность натуральных чисел. Найти наименьшее натуральное число,...

Дано натуральное число N. Найти наименьшее число М (N< M< 2N), которое делится на сумму цифр числа N (без оста
Дано натуральное число N. Найти наименьшее число М (N&lt; M&lt; 2N), которое делится...

Найти наименьшее натуральное число n, представимое двумя различными способами
Найти наименьшее натуральное число п, представимое двумя различными способами в...

9
v.a.l.i.d
416 / 381 / 113
Регистрация: 21.09.2012
Сообщений: 913
16.01.2013, 18:26 2
Как же его найдешь, если оно отсутствует?
0
Енс
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 7
16.01.2013, 18:30  [ТС] 3
ну например: 1 2 3 5 6 8 9
отсутствуют 4 и 7, а наименьшее 4 как-то так =/

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int A[n];   //исходник
int BoolArr[n];   //массив регистраций
int MinArr = 0; // минимальный существующий элемент
int Min = 0;    //минимальный пропущенный элемент 
 
for(int i = 0; i < n; i++)
     if(A[i] < MinArr)
          MinArr = A[i];
 
ZeroMemory(BoolArr, n);  //почистили массив
for(int i = 0; i < n; i++)
    BoolArr[A[i] - MinArr] = true;
int j = 0;
while(BoolArr[j])
    j++;
Min = j + MinArr;   //вышли из while - Значит наткнулись на мин. пропущ. число
                         //j-его номер, добавляем смещение в виде мимального существующего числа, получаем искомое пропущенное

я в С++ не понимаю, выдает ошибку в 1ой строчке, подскажите проблему)
0
Hrobak
291 / 171 / 46
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
16.01.2013, 18:31 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n, *mas;
    cout<<"Vvedite n"<<endl;
    cin>>n;
    mas=new int [n];
    for (int i=0;i<n;++i)
        cin>>mas[i];
    sort(mas,mas+n);
    for (int i=0;i<n;++i)
        if (mas[i]!=i+1)
        {
            cout<<i+1<<endl;
            break;
        }
    return 0;
}
1
Енс
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 7
16.01.2013, 18:34  [ТС] 5
Цитата Сообщение от Hrobak Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n, *mas;
    cout<<"Vvedite n"<<endl;
    cin>>n;
    mas=new int [n];
    for (int i=0;i<n;++i)
        cin>>mas[i];
    sort(mas,mas+n);
    for (int i=0;i<n;++i)
        if (mas[i]!=i+1)
        {
            cout<<i+1<<endl;
            break;
        }
    return 0;
}
=( не получается
0
Hrobak
291 / 171 / 46
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
16.01.2013, 18:36 6
Енс, что конкретно не получается? Не компилируется, не правильно исполняется?
0
Енс
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 7
16.01.2013, 18:41  [ТС] 7
а, не, получается, ток можно так, чтобы он сразу не закрывал окно, а то не удобно, но если это будет сложно в написании то не надо))) мне простенький код нужен...
0
Hrobak
291 / 171 / 46
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
16.01.2013, 18:43 8
Если в Visual Studio делаете, то запуcкайте не F5, а Ctrl+F5 или добавьте system("pause"); перед return 0;
1
Енс
0 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 7
16.01.2013, 18:49  [ТС] 9
огромное спасибо, добавил system("pause"); все просто отлично)))

Добавлено через 3 минуты
А можете код в "двух словах" пояснить, что и зачем?)
0
Hrobak
291 / 171 / 46
Регистрация: 22.03.2010
Сообщений: 487
Завершенные тесты: 1
16.01.2013, 18:53 10
Сперва считываем n - длину последовательности. Затем в цикле считываем каждый ее элемент. Сортируем последовательность (std::sort http://www.cplusplus.com/reference/algorithm/sort/). Потом в цикле находим первый элемент последовательности, который отличается от текущего натурального числа и выводим его.
P.S. Вместо std::sort можно использовать свою процедуру сортировки.
0
16.01.2013, 18:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 18:53

Найти наименьшее натуральное число, непредставимое в виде суммы элементов массива Р
Дан массив P, содержащий N натуральных чисел. Найти наименьшее натуральное...

Найти наименьшее натуральное N-значное число равное указанному произведению своих цифр
Составьте программу нахождения наименьшего натурального N-значного числа...

Найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N
Требуется найти наименьшее натуральное число Q такое, что произведение его цифр...


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

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

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