0 / 0 / 0
Регистрация: 01.10.2017
Сообщений: 14
|
||||||
1 | ||||||
Числа Люка определяются так: первое число равно 1, второе равно 3, каждое следующее равно сумме двух предыдущих. Состави12.11.2017, 23:02. Показов 3022. Ответов 2
Метки нет Все метки)
(
Задание
Числа Люка определяются так: первое число равно 1, второе равно 3, каждое следующее равно сумме двух предыдущих. Составить программу, которая находит сумму первых k чисел Люка (k – задается пользователем). Определить количество первых чисел Люка, таких, что значение их суммы не превышает диапазона типа int (long int). Вывести в виде таблицы данное значение суммы и три предыдущих значения суммы (с соответствующими количествами чисел Люка). Программа работает как надо Вот код. НО
?Вопрос? Когда я меняю unsigned long d = 2147483647; на long int d = LONG_MAX; и выводы переменных %lu на %li программа перестаёт работать Почему так???
0
|
|
12.11.2017, 23:02 | |
Ответы с готовыми решениями:
2
Даны числа а, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max(d-a, d-b, d-c) Массив : каждое число равно сумме двух предыдущих перед ним. Найдите отрезок массива, в котором первое число равно последнему, второе - предпоследнему и так далее
|
1858 / 1079 / 683
Регистрация: 25.04.2016
Сообщений: 3,036
|
|
13.11.2017, 09:51 | 2 |
Быть может потому, что LONG_MAX зависит от конкретной системы?
Из википедии: "Значения зависят от специфики реализации, но могут быть не ниже диапазона, определенного для конечного значения в удобной реализации Си." Все упирается в эту самую "удобную" реализацию. Вообще с этими максимальными значениями постоянная грусть-печаль-тоска, я уже предпочитаю брать число байт через sizeof, а потом вычислять максимум возведением двойки в нужную степень с вычетом 1.
1
|
Диссидент
![]() 27504 / 17193 / 3785
Регистрация: 24.12.2010
Сообщений: 38,732
|
|
13.11.2017, 10:35 | 3 |
Easycore, скорее всего дело в том, что v перепрыгивает LONG_MAX и ... становится отрицательным!
Не по теме: И просьба. Оборачивайте код тегами. Умеете? Читать и анализировать будет намного приятнее.
0
|
13.11.2017, 10:35 | |
Помогаю со студенческими работами здесь
3
Найти отрезок массива-палиндром, в котором первое число равно последнему, второе предпоследнему и т.д. Найти отрезок массива максимальной длины, в котором первое число равно последнему, второе предпоследнему и т.д. Число из большого количества цифр равно сумме двух чисел В массиве найти отрезок максимальной длины, в котором первое число равно последнему, второе - предпоследнему и т.д. Напечатать характеристики этого от Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |