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

Решение задачи по информатике - C++

Восстановить пароль Регистрация
 
Queen of Spades
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 12
30.11.2015, 19:02     Решение задачи по информатике #1
Доброго времени суток!

Суть задачи проста: дано кол-во спичек 1<=N<=100, них нужно составить минимальное и максимальное число. Спички нужно использовать все до одной.(Числа составляются максимум из 7 спичек на циферблате. Для нуля это 6 спичек, для 1 - 2 и т.д).
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 1
30.11.2015, 20:13     Решение задачи по информатике #2
создаете массив ,в котором a[i]= числу спичек для составления числа i , первый 10 чисел считаете ручками ,зате числа раскладываются , например a[15]=a[1]+a[5]
Queen of Spades
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 12
30.11.2015, 20:24  [ТС]     Решение задачи по информатике #3
Была мысль сделать такой массив. Используется переменная(с циклом), которая переводится в строку, а из строки поочередно считает кол-во спичек и проверяет = условию. Но у меня есть техническик нюансы с реализацией - подобных хорошо работающих функций как .ToString() в C# в C++ нет. Именно поэтому меня интересует более простая реализация.
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 1
30.11.2015, 20:25     Решение задачи по информатике #4
причем тут строка
Queen of Spades
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 12
30.11.2015, 20:33  [ТС]     Решение задачи по информатике #5
Можно было бы удобно выдирать по 1 символу, а так нужно это делать с int'a, что не слишком удобно.
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 1
30.11.2015, 20:46     Решение задачи по информатике #6
удобнее брать по модулю 10 и делить на 10 ,эта функция в 2 строки ,и смотрится красиво и понятно
Queen of Spades
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 12
30.11.2015, 20:52  [ТС]     Решение задачи по информатике #7
Мне бы пример этого короткого кода, и вопрос закрыт
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 1
30.11.2015, 21:39     Решение задачи по информатике #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
for(i=10;i<=n;i++){
  int t=i;
  while(t){
    a[i]+=a[t%10];
    t/=10;
  }
 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2015, 22:08     Решение задачи по информатике
Еще ссылки по теме:

Проверить решение задачи C++
C++ функции, решение задачи C++

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

Или воспользуйтесь поиском по форуму:
Queen of Spades
0 / 0 / 0
Регистрация: 30.11.2015
Сообщений: 12
30.11.2015, 22:08  [ТС]     Решение задачи по информатике #9
Если будет большое число и объемы решения задачи, то перезаписывать число будет долгим решением. Но для моих задач этого очень даже достаточно. Большое спасибо!
Yandex
Объявления
30.11.2015, 22:08     Решение задачи по информатике
Ответ Создать тему
Опции темы

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