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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
#1

Задача "Пятерки" - C++

19.12.2011, 23:08. Просмотров 671. Ответов 5
Метки нет (Все метки)

Вот
условие
Пятерки
(Время: 1 сек. Память: 16 Мб)

Задано натуральное N. Требуется написать программу, которая определит количество цифр 5 в записи всех натуральных чисел от 1 до N включительно.
Входные данные

Во входном файле INPUT.TXT в единственной строке задается число N <= 10^18.
Выходные данные

В выходной файл OUTPUT.TXT записывается найденное число – количество пятерок.
Примеры № INPUT.TXT OUTPUT.TXT
1 27 3
2 120 22
задачи
Тут оригинальное условие.

Как ее решать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 23:08     Задача "Пятерки"
Посмотрите здесь:

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

Задача на нахождение "+" и "-" элементов в массиве - C++
В массиве из положительных и отрицательных чисел, найти первый, второй и третий положительный элемент. Вычислить их произведение. ...

Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией") - C++
Описать структуру с именем &quot;ORDER&quot;, содержащий следующие поля: &quot;Счет плательщика&quot;; &quot;Счет получателя&quot;; &quot;Сумма, переводится банковской...

Вставить пробел после каждого символа "." "," "!" или "?", если за этими символами не следует пробел - C++
Вставить пробел после каждого символа &quot;.&quot; &quot;,&quot; &quot;!&quot; или &quot;?&quot;, если за этими символами не следует пробел (т. е. следует любой символ, кроме...

Наследование: "БГТУ", "Факультет", "Группа", "Подгруппа" - C++
Определить иерархию классов (в соответствии с вариантом – выделить базовый и производные). Реализовать классы (самостоятельно задать...

С++ консольное приложение win32, матерится на первое "pow" после "if", а на "system" говорит что неопределён. - C++
#define _CRT_SECURE_NO_WARNINGS #include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #define Pi 3.1416 #include &lt;clocale&gt;...

В массиве структур студент с полями "ИМЯ" "ВОЗРАСТ" "УСПЕВАЕМОСТЬ" выполнить сортировку по успеваемости по возрастанию - C++
в массиве структур студент с полями &quot;ИМЯ&quot; &quot;ВОЗРАСТ&quot; &quot;УСПЕВАЕМОСТЬ&quot; выполнить сортировку по успеваемости по возрастанию. Использовать...

Написать функцию поиска человека по полю "фамилия" в массиве структур "Note" ("Персональная информация") - C++
Вывести из структуры информацию о человеке, чья фамилия введена с клавиатуры #include &lt;iostream&gt; #include &lt;locale&gt; #include...

После каждого знака препинания (".", ",", ";") вставить в строку пробел, если там его нет - C++
Выполните задания с использованием библиотечного класса string. Даны строка S. Необходимо после каждого знака препинания (&quot;.&quot;, &quot;,&quot;,...

Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9". - C++
вылезает ошибка Необработанное исключение в &quot;0x775e15de&quot; в &quot;laba3.exe&quot;: 0xC0000005: Нарушение прав доступа при чтении &quot;0xfdfdfdf9&quot;. ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
19.12.2011, 23:19     Задача "Пятерки" #2
я пришел к тому, что d[i] = 18 * d[i - 1] + 1, где i + 1 - разрядность числа, d[i] - кол - во 5.
d[0] = 1
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
19.12.2011, 23:20  [ТС]     Задача "Пятерки" #3
огромное спасибо, но как Вы к этому пришли (хотя бы намек)?
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
19.12.2011, 23:27     Задача "Пятерки" #4
пока пытался объяснить, нашел ошибку, прошу прощения)
Dani
19.12.2011, 23:29  [ТС]
  #5

Не по теме:

Цитата Сообщение от neske Посмотреть сообщение
пока пытался объяснить, нашел ошибку, прошу прощения)
с кем не бывает

valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.12.2011, 02:06     Задача "Пятерки" #6
Алгоритм решения:
1. Считываем значение N
2. Объявляем переменные:
__int64 tmp, res=0, tmp_10=1;
3. Запускаем цикл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while(true)
{
     tmp=N;
     tmp/=temp_10;
     res+=(tmp/10)*temp_10;
     if(tmp%10>5)
         res+=temp_10;
     if(tmp%10==5)
         res+=N%temp_10+1;
     if(N/temp_10<10)
         break;
     else
         temp_10*=10;
}
4. Выводим значение res.
Yandex
Объявления
20.12.2011, 02:06     Задача "Пятерки"
Ответ Создать тему
Опции темы

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