Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 2
Регистрация: 22.12.2014
Сообщений: 62

Найти k-ое по порядку в последовательности число

22.12.2014, 01:57. Показов 4046. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:

Дана последовательность чисел, состоящих только из цифр 0 и 5, в порядке возрастания: 0 5 50 55 500 505 5000 5005 5050 и так далее. Найти k-ое по порядку в этой последовательности число.

Алгоритм решения задачи:

Все числа ряда кратны 5, другие одинаковые делители не найдены. Значит, нужно перебирать натуральные числа, кратные 5, от нуля. Следующее натуральное число находится как сумма текущего и числа 5. Полученное таким образом новое натуральное число проверяется на состав цифр. Если число состоит только из нулей и пятерок, то увеличиваем счетчик элементов ряда (i). Как только счетчик станет равен k, цикл прекратиться. Найденное число будет содержаться в переменной n.


Я попытался сделать, но она не сработала. Вот что получилось:

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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0, "");
    int k;
    int i=1;
    int m;
    int n=0;
    cout << "Введите число k " << endl;
    cin >> k;
    while (i < k)
    {
        n=n+5;
        m=n;
        while (m > 0)
        {
            if (m%10!=5 && m%10!=0)
            {m = m%10;}
        }
        if (m = 0)
        {
            i = i+1;
        }
    }
    cout << "kое по порядку число = " << n << endl;
    return 0;
}
Кто шарит покажите ошибки и подскажите как делать
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.12.2014, 01:57
Ответы с готовыми решениями:

Найти k-ое по порядку в последовательности число, долго работает программа
Дана последовательность чисел, состоящих только из цифр 0 и 5, в порядке возрастания: 0 5 50 55 500 505 5000 5005 5050 и так далее. Найти...

Найти длину максимальной последовательности чисел, которые идут по порядку
То есть если дан ряд 1 3 8 9 2 3 4 3 4 4 3 то выведет, что самая длинная последовательность состоит из 3 элементов (если не сложно,...

Найти N-ое по порядку натуральное число с различными цифрами
Найти N-ое по порядку натуральное число с различными цифрами. Первым таким числом считайте 1. Например, 100-ое по порядку число с...

12
36 / 30 / 31
Регистрация: 16.11.2014
Сообщений: 90
22.12.2014, 02:46
На глаз это if m=0 m==0
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
22.12.2014, 02:48
k представь в 2-м виде. там где будут 1 выводи 5, иначе 0

3 = 11 (2) => 55
5 = 101 (2) => 505
1
36 / 30 / 31
Регистрация: 16.11.2014
Сообщений: 90
22.12.2014, 02:51
Круто придумано
Сам придумал?
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
22.12.2014, 02:53
да. а что не так?
0
36 / 30 / 31
Регистрация: 16.11.2014
Сообщений: 90
22.12.2014, 02:54
Ну я считаю это довольно не стандартное решение просто))
Не каждого такие идеи посещают
1
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
22.12.2014, 02:58
тут только остается уточнить:
0 это 1-й член последовательности или 0-й? Если 1-й, то тогда надо (k-1) приводить к двоичному виду...
0
0 / 0 / 2
Регистрация: 22.12.2014
Сообщений: 62
22.12.2014, 14:14  [ТС]
А можно как-то без перевода в 2-м? Я просто новичек в этом деле и перевод в 2ичный еще не изучал на c++)
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
22.12.2014, 15:04
Цитата Сообщение от vizinar Посмотреть сообщение
Я просто новичек в этом деле
а что именно вы знаете?
0
0 / 0 / 2
Регистрация: 22.12.2014
Сообщений: 62
22.12.2014, 15:30  [ТС]
ввод-вывод, операции, переменные, ветвление (if) и циклы (while, for, do while)

Добавлено через 2 минуты
я просто решил не идти дальше пока полностью не разберусь с циклами
0
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
22.12.2014, 15:46
Лучший ответ Сообщение было отмечено vizinar как решение

Решение

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
#include <iostream>
using namespace std;
 
#define _size sizeof(int)*8
 
int main() {
   int k, len = 0;
   char * bin = new char[_size];
   for (k = 0; k < _size; ++k)
      bin[k] = 0;
   
   cout << "Enter k = ";
   cin >> k;
   --k;            // т.к. 0 - это 1-й элемент
   while (k > 0) {                 // 2-е представление (обратный порядок битов)
      bin[len] = (k % 2)*5 + 48;   // сразу записываем 5, а не 1  ; 
                                   // + 48 - перевод цифры в символ, таблица ASCII
      ++len;
      k /= 2;
   }
 
   for (k = len-1; k >= 0; --k)  // т.к. 2-е предстовление в обратном порядке
      cout << bin[k];
 
   return 0;
}
Добавлено через 9 минут
Если же вы хотите оставить как у вас было изначально, тогда надо исправить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
while (i < k) {
   n=n+5;
   m=n;
   while (m > 0)
   {
      if (m%10 == 5 || m%10 == 0)
         m /= 10;
      else break;
   }
   if (m == 0)
      i = i+1;
}
Добавлено через 22 секунды
но так гораздо дольше
1
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
22.12.2014, 15:50
Цитата Сообщение от mat_for_c Посмотреть сообщение
C++
1
char * bin = new char[_size];
В конце чистим память. ОК?
1
 Аватар для mat_for_c
223 / 213 / 80
Регистрация: 26.04.2013
Сообщений: 972
22.12.2014, 15:54
vizinar, да и потом, при k = 20000 ваш алгоритм уже выдаст неверный результат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2014, 15:54
Помогаю со студенческими работами здесь

Найти минимальное число и его номер по порядку
В цикле вводятся числа (ввод продолжается до набора цифры 0). Найти минимальное число и его номер по порядку. Вот код в бейсике,а вот...

Найти такое число i, Si – последняя по порядку запятая
Дана строка S. Известно, что в ней есть по крайней мере одна запятая, найти такое число i, Si – последняя по порядку запятая. Строка...

Найти такое натуральное число i, где Si – первая по порядку запятая.
Дано натуральное число n и последовательность символов S1, …, Sn (строка). Известно, что среди символов строки есть хотя бы одна запятая....

Найти такое натуральное число i, где Si – первая по порядку запятая.
Дано натуральное число n и последовательность символов S1, …, Sn (строка). Известно, что среди символов строки есть хотя бы одна запятая....

Найти k-ое по порядку число среди элементов массива шейкерской сортировкой
Найти k-ое по порядку число среди элементов массива(шейкерской сортировкой)


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru