Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Загадки

Загадки Постим и отгадываем загадки. Флуд запрещён - только условия и обсуждение решений.

Ответ
 
Опции темы
Старый 04.12.2012, 14:15   #1
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Умножение

Не помню, былали тут такая загадка, в общем сабж:
http://tpas.gym5cheb.ru/p6aa1.html
5.2.Эффективные алгоритмы.
Задание для тренировки.

1.Дано вещественное число А. Не пользуясь никакими арифметическими операциями, кроме умножения, получить:
8 ) А^19 за пять операции;
Голову сломали и подумали что это троллинг такой) Но может есть ответ?
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.12.2012, 15:18   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Умножение

У меня только за 6 операций получается
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
den (04.12.2012), pax (04.12.2012)
Старый 04.12.2012, 15:20   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Умножение

Да, за шесть легко...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.12.2012, 20:26   #4
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Умножение

1) А^4 за две операции;
2) А^6 за три операции;
3) А^7 за четыре операции;
4) А^8 за три операции;
5) А^9 за четыре операции;
6) А^13 за пять операции;
7) А^15 за пять операции;
8) А^19 за пять операции;
9) А^21 за шесть операции;
10)А^28 за шесть операции;

Больше похоже на опечатку. Ибо остаьлные решаются мгновенно.
(Offline)
 
Ответить с цитированием
Старый 04.12.2012, 23:10   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Умножение

Задача встречается в разных задачниках с такой же формулировкой...
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.12.2012, 23:23   #6
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Умножение

Сообщение от pax Посмотреть сообщение
Задача встречается в разных задачниках с такой же формулировкой...
окей. какая то хитрость скрыта значит. как будит время подумаю посерьезней =)

хотя:
С такой:

1) А^4 за две операции;
2) А^6 за три операции;
3) А^7 за четыре операции;
4) А^8 за три операции;
5) А^9 за четыре операции;
6) А^13 за пять операции;
7) А^15 за пять операции;
А^19 за пять операции;
9) А^21 за шесть операции;
10)А^28 за шесть операции;
?

или с такой:

А^19 за пять операции?
(Offline)
 
Ответить с цитированием
Старый 04.12.2012, 23:37   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Умножение

формулировка встречалась так же как и в том задачнике, что я ссылку дал. Но интересует как раз А^19 за пять операции
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 05.12.2012, 00:14   #8
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: Умножение

A*B % С = A^0.75 % С

Нужно решить это уравнение. (С констранта). Нужно найти B. Причем чтобы оно не зависело от А.

Либо такое:
((A^N) * B) % C = 1 % C (C и N константы)
(Offline)
 
Ответить с цитированием
Старый 06.12.2012, 11:50   #9
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Умножение

У кого ни спрашивал - все приводили различные реализации в 6 действий.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (06.12.2012)
Старый 06.12.2012, 14:51   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Умножение

Да видно все таки троллинг такой.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 06.12.2012, 15:52   #11
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Умножение

Да просто автор задачи опечатался, а остальные копипастили себе на сайты не задумываясь.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо den за это полезное сообщение:
ABTOMAT (06.12.2012), impersonalis (06.12.2012), SBJoker (06.12.2012)
Старый 07.12.2012, 00:23   #12
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: Умножение

ради интереса написал программку, которая считает минимальное количество ходов.
Перебором.
Эх, 19 можно только за шесть((
Перемножая числа, по сути, складываем степени.
Вот код на сях:
#define len 10

int bestLen=len;
void print(int ar[],int pos){
    if (
pos<bestLen){
        
bestLen=pos;
        for(
int i=0;i<=pos;i++)
            
printf("%i,",ar[i]);
        
printf("\n");
    }
}

void allVariants(int ar[],int pos,int num){
    if (
pos>=bestLen) return;
    for(
int i=pos-1;i>=0;i--)
        for(
int j=i;j<pos;j++){
            
int res=ar[i]+ar[j];
            if (
res>ar[pos-1]){
                
ar[pos]=res;
                if (
ar[pos]==num)
                    print(
ar,pos);
                if (
ar[pos]<num)
                    
allVariants(ar,pos+1,num);
            }
        }
}

int vect[len];
int main(){
    
vect[0]=1;
    for(
int i=2;i<65;i++){
        
allVariants(vect,1,i);
        
printf("num = %i,best len = %i \n",i,bestLen);
        
bestLen=len;
    }
    
getchar();
    return 
0;

__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:07.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com