0 / 0 / 1
Регистрация: 16.03.2013
Сообщений: 52
|
||||||
1 | ||||||
Напишите программу, которая находит следующее и предыдущее число для заданного N30.09.2013, 16:39. Показов 15671. Ответов 9
Метки нет Все метки)
(
Тема следующая. Есть задачка:
Напишите программу, которая находит следующее и предыдущее число для заданного N. Входные данные. Входной поток содержит целое число N по модулю не больше 10 в степени 30. Выходные данные. В выходной поток выводим текст по образцу. Слова и числа разделяются только одним пробелом, в начале и в конце текста пропусков нет. примеры Входные данные Результат работы 3 The next number for the number 3 is 4. The previous number for the number 3 is 2. Сначало я не обратил внимание на ограничение и сделал программу с long long int, а потом заметил что он не тянет ограничение. Потом узнал что есть такая вещт как длинная арифметика и можно как то что то подключить. Но мой уровень знания С++ не позволяет мне это сделать. Прошу помощи.Заранее спасибо. И вот мой код:
0
|
|
30.09.2013, 16:39 | |
Ответы с готовыми решениями:
9
Напишите программу, которая находит k-е в возрастающем порядке число в массиве A=(a1;a2;...;an). Используя функцию, напишите программу, которая находит число Армстронга Напишите программу, которая находит число дней в этом году |
147 / 82 / 10
Регистрация: 04.09.2013
Сообщений: 261
|
|
30.09.2013, 17:08 | 2 |
ну можно даже не заморачиваться с длинной алгеброй
![]() тогда вам вообще будет не важно длинна числа. т.о вы работаете со строкой длинной не более 31 символа. Для решения задачи арифметика дальше +10 и -1 не уходит остальное это просто использование булевого флага переноса единицы на следующую цифру Добавлено через 5 минут теоретически цифры можно даже оставить в символьном представлении и просто после применения операции инкремента или декремент проверять на выход из диапазона символов '0'-'9'
1
|
0 / 0 / 1
Регистрация: 16.03.2013
Сообщений: 52
|
|
30.09.2013, 17:12 [ТС] | 3 |
Если посмотреть мой уровень знаний на графике(х,у) то он там по у ниже х на одиничек так с 20. Короче: Что я знаю?
самые низы, иф-елсе, циклы 50 на 50 и подключение матх.х библиотек. Что то там с ячейками пробывал(строка и в ней ячейки начиная с 0). Так что ваш совет мне не очень ясен....
0
|
147 / 82 / 10
Регистрация: 04.09.2013
Сообщений: 261
|
|
30.09.2013, 17:33 | 4 |
ОК. Объясняю
![]() Что такое число - это набор цифр Что мы еще знаем что цифра принадлежит диапазону от 0 до 9, если же она больше 9, то лишняя цифра переходит к левостоящей, если же она меньше 0, то левостоящая цифра уменьшается а к текущему значению цифры прибавляется 10 Что нам еще известно При вводе числа из консоли происходит преобразования строки в число. Ага значит если у нас нет такого целочисленного типа данных, то мы можем миновать это преобразования строки в число и работать непосредственно со строкой Таким образом, необходимое условию максимальное число мы можем представить в виде строки. Дальше мы начинаем работать с последним символом строки. ведь символы это тип char а по сути это знаковое число от -128 до +127 и к ним применимы арифметические действия. Определив код символа '0' мы можем получить допустимые границы значений для символов. и используя вышеуказанные правила мы поднимаемся к начальному символу в строке по необходимости преобразуя согласно изменений после прибавления или убавления единицы.
1
|
0 / 0 / 1
Регистрация: 16.03.2013
Сообщений: 52
|
|
30.09.2013, 17:39 [ТС] | 5 |
на словах вроде бы понятно, как это в код обратить?
0
|
147 / 82 / 10
Регистрация: 04.09.2013
Сообщений: 261
|
||||||
30.09.2013, 18:22 | 6 | |||||
Только для работы с положительными числами
1
|
0 / 0 / 1
Регистрация: 16.03.2013
Сообщений: 52
|
|
30.09.2013, 21:04 [ТС] | 7 |
а можеш коментарии к строкам написать, чтобы я знал что и как
0
|
147 / 82 / 10
Регистрация: 04.09.2013
Сообщений: 261
|
||||||
30.09.2013, 21:55 | 8 | |||||
![]() Более того нигде нет проверок на то что пользователь укажет именно число а не произвольную строку. Так же не отбрасываются впередистоящие нули которые увеличивают длину строки, но никак не повышают разрядность числа. Ну и понятное дело это неправильно работает с отрицательными числами
1
|
0 / 0 / 1
Регистрация: 16.03.2013
Сообщений: 52
|
|
30.09.2013, 22:57 [ТС] | 9 |
а где ты учился?
0
|
HedgehogLu
|
30.09.2013, 23:24
Напишите программу, которая находит следующее и предыдущее число для заданного N
#10
|
Не по теме: в ВНУ (Восточноукраинский национальный университет)
0
|
30.09.2013, 23:24 | |
Задано натуральное число N. Напишите программу, которая находит первые N натуральных нечетных чисел Напишите программу, которая вводит натуральное число n и находит все совершенные числа в диапазоне от 1 до n Напишите программу, которая вводит натуральное число N и находит все совершенные числа в диапазоне от 1 до N Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |