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

Работа с числами в с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder Как вставить одну и ту же картинку в последнюю ячейку каждой строки StringGrid? http://www.cyberforum.ru/cpp-beginners/thread223644.html
Народ, помогите!.. Со StringGrid по4ти не работал, а тут по зарез надо! Это из билдера, но на том подразделе никто не отвечает... 1) Есть таблица StringGrid1, в ней 4 столбца и 13 рядков. Как вставить одну и ту же картинку в последнюю ячейку каждого рядка??? 2) И как отследить клик мышей по ней??? Ищу уже с час, нигде не могу найти... Добавлено через 25 минут Ну-с кто-то поможет?!
C++ ошибка при кодировании Вопрос такой ,программа должна переводить текст в код хэмминга и обратно. Указываю два файла (txt формата), откуда беру текст и куда ложить результат. например при кодировании слова "isakz" в другом файле выскакивает "ቴᣧᅷ᭲૵", и если это декодирую обратно, то все нормально выходит слово "isakz". что делать чтобы выходил двоичный код? http://www.cyberforum.ru/cpp-beginners/thread223639.html
Подсчет количества предложений в текстовом файле C++
Сама задача:Подсчитать число предложений в заданном текстовом файле (текст на английском языке). Предложением считается последовательность символов, начинающихся с пробела и прописной буквы и заканчивающихся точкой. #include <iostream> #include <cctype> #include<fstream> int main() { using namespace std; ifstream inFile; inFile.open("f.txt");
C++ Ввод - вывод строк + пробелы
Ввести строку. Вывести в виде нескольких строк так, чтобы в каждой строке было по 4 слова, первое слово начиналось в 5-ой позиции, а последнее заканчивалось в 60-ой. Т.е. Перед первым выведенным словом должно стоять 4 пробела, а перед последним 59 соответственно. Необходимо использовать стандартные библиотеки. Очень нужна помощь!
C++ Быстрая сортировка http://www.cyberforum.ru/cpp-beginners/thread223621.html
Помоги мне ответить на вопросы,большая просьба,заранее спасибо Быстрая сортировка #include <iostream> using namespace std; int array; void Sort(int col)
C++ Бинарный поиск помоги мне плиз ответить на вопросы Бинарный поиск #include <iostream> using namespace std; int BinSearch(int *M, int n, int k); int main() подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.01.2011, 22:50     Работа с числами в с++
Цитата Сообщение от Andrey_1 Посмотреть сообщение
Вводится некоторое натуральное число N, состоящее не более чем из 10 различных цифр
(первая цифра - не 0). Определить, сколько существует различных чисел, больших N и
составленных из тех же цифр (и в тех же количествах), что и N.
Например, для числа 315 таких чисел 3. Эти числа: 351, 513 и 531.
Это из олимпиадных задачек.
Тут в принципе не очень сложно. Нужно помнить что число всех перестановок из из N различных цифр равно N!
А теперь сам алгоритм. Например дано число:
4679831
Подсчет начинаем так с первой цифры (в данном случае это 4):
1. Больше четверки цифры: 6, 7, 9, 8. Если первой стоит 6-ка, то кол-во перестановок для этого варианта (N-1)! . То же самое кол-во перестановок для варианта когда стоит первой 7, 9, 8. Всего (N-1!)*4
2. Теперь считаем что на первом месте стоит 4-ка (4-ку вообще выкидываем из дальнейшего алгоритма). Больше второй цифры (6-ки) только 7, 9, 8. Когда второй стоит 7-ка, то кол-во перестановок (N-2)! . То же самое кол-во перестановок для варианта когда стоит второй 9, 8. Добавляем к имеющемуся кол-ву (N-2!)*3.
и т.д.
В общем для числа 4679831 ответ будет:
(6!)*4+(5!)*3+(4!)*2
 
Текущее время: 16:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru