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

Гладкие числа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
27.04.2009, 19:49     Гладкие числа #1
ПОМОГИТЕ РЕШИТЬ ЗАДАНИЕ,,,.....
Гладкие числа
Назовем число гладким, если его цифры, начиная со старшего разряда, образуют неубывающую последовательность. Упорядочим все такие числа в возрастающем порядке и присвоим каждому номер.
Вам требуется по номеру N вывести N-ое гладкое число.
Входные данные
Во входном файле INPUT.TXT содержится номер N (1 <= N <= 2147483647).
Выходные данные
Выходной файл OUTPUT.TXT должен содержать искомое N-е гладкое число.
Примеры
INPUT.TXT OUTPUT.TXT
1 1
11 12
239 1135
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2009, 19:49     Гладкие числа
Посмотрите здесь:

2 Задачи на С++(Вводить и суммировать числа пока пользователь не введет 2 одинаковых числа) C++
Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать C++
C++ От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно
C++ Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми C++
C++ Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++ C++
Определить цифры целого числа (тип числа - целое без знака) C++
Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив C++
C++ Нужно ввести два числа, а вывести ряд от первого числа до второго
C++ Вывести на экран все числа, номера которых есть числа Фибоначчи
C++ Нужно чтобы случайные числа вставали в конец массива,а не удаляли числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
28.04.2009, 16:17     Гладкие числа #2
Смотря, насколько "мощное" решение Вам нужно. Алгоритмы могут быть разные. Самый простой - перебирать все гладкие, от первого до N-го.
Но можно и похитрее. (И этот алгоритм будет гора-аздо быстрей).
Смотря, что надо (может, достаточно первый сделать, и всё)?
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
28.04.2009, 16:20  [ТС]     Гладкие числа #3
Цитата Сообщение от Ultrator Посмотреть сообщение
Но можно и похитрее. (И этот алгоритм будет гора-аздо быстрей).
Смотря, что надо (может, достаточно первый сделать, и всё)?
Ув. Ultrator Мне нужен самый быстрый варинт, который Вы можете предложить..
Ultrator
11 / 7 / 1
Регистрация: 28.04.2009
Сообщений: 219
28.04.2009, 16:51     Гладкие числа #4
Ну хорошо. //кстати, число 21...47 - это (2^31 - 1) походу...
Для начала, смотри "усечённый" вариант: числа от 0 до 99.
Запиши их в виде матрицы 10*10, вот так:
0 10
1 11
2 12
3 и т.д.
4
5
6
7
8
9

Тогда все НЕ ГЛАДКИЕ будут НАД главной диагональю.
Дальше - так:
1. Сколько ГЛАДКИХ в диапазоне 1..M (само M - гладкое).
2. Пусть в (1.) получилось число N (т.е., M - гладкое под номером N). Т.е., в (1.) получилась формула N=f(M), а надо выразить из неё M (от N).
Если это получится - прога будет просто считать M по формуле от N.
////
(А что, решения такой задачи нигде нет, например в Кнуте? Вы где смотрели уже?
В принципе, мог бы заняться. Но заранее обещать, что на 100% всё получится именно так, ессно, не могу. Не найдёте, тогда - плз в личку).
Yandex
Объявления
28.04.2009, 16:51     Гладкие числа
Ответ Создать тему
Опции темы

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