![]() |
|
Модераторы: bsa |
![]()
|
|
| baldina |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
я так ничего не понял
Добавлено @ 14:33 число знаков n в записи неотрицательного числа x по основанию b определяется несложной процедурой
Это сообщение отредактировал(а) baldina - 23.10.2013, 14:33 |
||||||
|
|||||||
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: 1 Всего: 1 |
Что вы имеете ввиду под основанием? 10. Да если х делить на 10 так оно никогда не будет 0. Как и на другое иное. Может в коле цыкла должно быть: КОГДА (х>b). Например 1734 =173.4=17.34=1.734-от так действительно просто. И еще код приведу: public class K { int fibo(int f) { if (f=0) return 0; else if (f=1) return fibo (f-1)+fibo(f-2);} System.out.print(fibo(3));}-вот наткнулся на кое недельной давности. Извиняюсь что не по строкам. Нету ПК под руками. Но вот в строки где метод систем ошибки аж 5:identifier expected; ; expected возле числа 3. Illegal start of type возле первой закрывающийся скобки. Вобщем все ошибки возле (fibo(3))
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
неужто Добавлено через 15 секунд поделите 5 яблок на 10 человек Добавлено через 5 минут и 16 секунд зы. я виноват. надо было добавить, что х целочисленная (мне казалось это очевидным). для нецелых все похоже, только конечно число знаков надо ограничить |
|||
|
||||
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: 1 Всего: 1 |
Как говорил дедушка один, ученье свет иное тьма. Потому хотел бы знать подход знатоков к такой задаче. Вот есть к-значимое число. Надо найти числа фибон. кпторые имеют или все парные или только первую четную цыфру. Здесь без разложение числа на масив симболов не обойтись. Тем более к-значное число в цыкле не задаш напрямую. Хотя какой то цыкл надо использовать. Или ФО. Или ВАЙЛ. Хотел бы знать ваш подход. Ибо такое задание действительно озадачило.
|
|||
|
||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
знатоки спят уже, потому я отвечу
любую численную задачу можно решить без "разложения на массив символов": символьная запись числа это лишь один из вариантов кодирования числа. это кодирование заключается в получении некоторых чисел и преобразования их в символы (цифры). ясно, что для решения достаточно значений цифр, их символьные коды не важны (и могут быть разными в разных кодировках) вы задачу-то изложите. т.е. k-значное? в какой системе счисления?
супер. а "к-значимое число" причем тут? давайте я протелепатирую. задача такая: Дано целое число (это число может быть числом Фибоначчи или полученным иным путем, не важно). Требуется: определить, является его первая цифра в десятичной записи четной или нечетной Решение:
как видите, никакого предварительного превращения в строки, символы и т.п. не потребовалось. решения других подобных задач получаются аналогично. |
||||
|
|||||
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: 1 Всего: 1 |
Здесь я синтезировал две задачи. K-значное число это для того чтобы обозначить интервал. То есть надо вывести все k-зн. числа в которых первая или все цыфры четные/нечетные. Может ваш метод о деление на 10 и подходит. Хотя я не настолько опытный. Но разве разложение числа в масив символов (превращение в строку кажется ничего не даст) не подходит под решение задачи. Тогда надо каждую цыфру превращать в int и проверять не делится ли она на 2. Кажется задача поставлена. Хотя снова. Второй вопрос эфективности: надо как то определить этот интервал что бы не идти от 0 к нему вхолостую?/ Кстати вы код привели: вы сперва проверяете делится ли число на два. Но это надо проверять делится ли первая цифра на 2. То есть эту цыфру надо как то отделить. А если все цифры проверять. Ну хорошо поделили вы например 177 на 2. Выходит 88. И остача 1. Но если будет 176 то остачи не будет. Тогда что первая цифра изменилась как была 1 так и осталась. Зачем на 18 делить . Код точно не помню. А система-10ричная.
|
|||
|
||||
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: 1 Всего: 1 |
Ну что вам слабо написать часть кода хотя бы для обозначание интервала или этих к-значных чисел фибоначчи? Сегодня знатоки еще не должны спать.
|
|||
|
||||
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: 1 Всего: 1 |
От у меня снова вопрос по поводу поиска
на неком интервале [m;n] чисел фибоначчи где одна из цыфр есть нечетной (первая или последняя). То есть основная идея надо найти первое число в интервале. int t; while (t) { int k=fibo(t); if (k>=m AND k=<n) {int j=k; while(k) {if (k%2=1) break; int g=k%10; k=g;} if(k=0) { System.out.print(j); System.out.println; } } else if (k>n) break; t++; } Потом делитьчисло фиб. на 2 если остача 1 выход из цыкла, если нет уменьшение десятичного разряда и далее повторять цыкл. Хотя догадуюсь что надо do while ибо первую точно не прихопят? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |