Форум программистов, компьютерный форум, киберфорум
Наши страницы

Предложите упражнения по С++ мне - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод программы http://www.cyberforum.ru/cpp-beginners/thread69035.html
var i, n, k : byte; a,b,c : real; begin readln(n); for i:=1 to n do begin readln(a,b,c);
C++ определить строки этого файла, содержащие максимальную по длине подстроку Всем здрасти!Помогите пожалуйста написать программку на файлы. Спс. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине подстроку, состоящую... http://www.cyberforum.ru/cpp-beginners/thread69031.html
C++ МАСсив
Дана действительная матрица А размером MxN, где M, N - заданные натуральные числа Сформировать одномерный действительный массив В, в котором элемент B(j) равен 1, если элементы j-ого столбца матрицы...
Обработка файлов в c++ C++
Ребята моя программа создаёт базу данных простенькую, и всё введенное в консоль сохраняет в txt файл. Мне нужно её доработать так чтобы я мог осуществить поиск по этой базе и отредактировать...
C++ Найти среднее арифметическое цифр числа http://www.cyberforum.ru/cpp-beginners/thread69000.html
здравствуйте, есть задача, что-то никак не могу сообразить помогите пожалуйста задание: Вводится последовательность из N целых чисел. Найти среднее арифметическое его цифр.(функцией оформить...
C++ генератор случайных вопросов в формах Помогите сделать так, чтобы по нажатию кнопки генерировалось число и в label2 показывался какой вопрос идет по счету,а по окончании 5 вопросов, выскакивал MessageBox на сколько вопросов отвечено... подробнее

Показать сообщение отдельно
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
01.12.2009, 17:06
Найти количество 18-значных счастливых билетов,билеты нумеруются с 000000000000000000 до 999999999999999999,время выполнения 2 секунды.
Это довольно просто решается.
Cначала нужно составить массив A[] с индексами от 0 до 81.
Левая часть счастливого билета ( как и правая ) имеет сумму цифр от 0 до 81.
Нужно перебрать все левые части от 0 до 999999999.
При этом в массив A[] занести кол-во левых частей с соответствующей суммой.
Например для левой части 012012012 нужно в A[9] добавить 1.

Получив массив A[] мы можем найти ответ.
Правда придется использовать int64_t чтобы его посчитать
Счастливый билет дают только те левые и правые части, сумма которых равна.
Значит если у нас cумма левой части равна S, то A[S] - это кол-во таких левых частей.
Значит общее число билетов где левая часть имеет сумму S равно A[S]^2.

Полный ответ: SUM= A[0]^2+A[1]^2+A[2]^2+...+A[81]^2.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru