|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.08.2009, 15:37 | #1 |
Регистрация: 09.04.2009
Сообщений: 4
|
Задание / Си
Задача: Дано натуральное число р. Получить последовательность а0, …, аn, каждый член ко-торой равен -1, 0 или 1, такую что р= а[n] * pow(3,n)+…+ а[1]*3+ а0
Решение: n=0. Мы можем получить числа p: -1, 0, 1. n=1. Можем получить p от -4 до 4. n=2. Можем получить p от -13 до 13 Имеем произвольный n. Можем получить p от -(3**(n+1)-1)/2 до +(3**(n+1)-1)/2. Различных вариантов ровно 3**(n+1). Исходя из этой формулы если мы имеем натуральное p, но там нужно найти минимальный n, чтобы было верно: p<=(3**(n+1)-1)/2. После того, как n определено дальше либо перебираем все a[n],...a[0]. Либо сразу вычисляем нужные значения. Напишите плиз прогу , я не знаю как значение a[n] изменять в цикле на -1 , 0 , 1 должны проходить все значения как в счетчике или как прогонять , прога на С/C++ . |
10.08.2009, 16:36 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
стучите в асю 368161244, помогу
|
10.08.2009, 16:42 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Так подойдет?:
Код:
I'm learning to live...
|
10.08.2009, 17:06 | #4 |
Регистрация: 09.04.2009
Сообщений: 4
|
2 Stilet мне нужна последовательность a[n],...a[0] каждый член ко-торой равен -1, 0 или 1, такую что р= а[n] * pow(3,n)+…+ а[1]*3+ а0
Прогон a[n] : for (int i = -1; i <= 1; i++) { a[n] = i; } |
10.08.2009, 17:22 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
I'm learning to live...
|
|
10.08.2009, 17:44 | #6 |
Регистрация: 09.04.2009
Сообщений: 4
|
Это и есть задача ,оригинал в доке http://depositfiles.com/files/0nk6atmh2 .
А по этому решению какая то чушь получается : Код:
Последний раз редактировалось Drozvd; 10.08.2009 в 17:48. |
11.08.2009, 06:33 | #7 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
Может, так?
Код:
----------------------------------------------------------------------------------------------------------------------------------- Кстати, хоть я и написал программу так, как будто может быть несколько способов получить p, такой способ, кажется, всегда один, или их нет. ----------------------------------------------------------------------------------------------------------------------------------- Точно, такой способ один, если он есть, убираем puts(""); (или не убираем, разницы никакой) ----------------------------------------------------------------------------------------------------------------------------------- Ошибка: в 23 строке надо писать < вместо <=. ----------------------------------------------------------------------------------------------------------------------------------- Ещё одна ошибка: в строке 23 надо писать Код:
Последний раз редактировалось megachuhancer; 11.08.2009 в 09:11. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Непонятное задание. | Dmitry81 | Microsoft Office Excel | 2 | 10.01.2009 12:38 |
Задание по матрицам | Иван 883 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 27.12.2008 01:43 |
Задание ворд | dr.Chas | Microsoft Office Word | 2 | 16.12.2008 00:51 |
Задание $ | user570 | Фриланс | 3 | 15.06.2008 22:11 |