Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.01.05;
Скачать: CL | DM;

Вниз

Типа пятничная задачка   Найти похожие ветки 

 
Очень Злой   (2013-07-12 11:44) [0]

Есть интерестная задачка (которая правда тут уже тоже светилась), про султана и двух визирей, которые должны были угадать числа...
Но так как многие просто могли просто нагуглить ответ, я немножко поменял условие, а именно султан загадал числа не от 2 до 100, а от 3 до 100.
Теперь задачка так же имеет решение, но ответ уже другой... Так что придется решать самим.

Вот:
У одного султана было два мудрых визиря. Захотел он проверить, насколько они сообразительны. Позвал он их обоих и сказал:
- Я загадал два числа от 3 до 100. Вы должны их мне назвать.
При этом султан сообщил первому визирю произведение этих чисел, а второму - их сумму.
Первый визирь подумал и говорит:
- Я не знаю что это за числа
На что второй ответил:
- Я был в этом уверен.
Тогда первый говорит:
- В таком случае, я знаю, что это за числа.
Второй:
- Тогда и я знаю, что это за числа.

Какие числа загадал султан?


 
[ВладОшин] ©   (2013-07-12 13:17) [1]

Хорошая задача :))


 
[ВладОшин] ©   (2013-07-12 14:04) [2]

только решение неоднозначно, если исключить и 2


 
Очень Злой   (2013-07-12 14:19) [3]


> только решение неоднозначно, если исключить и 2


хм. странно. у меня однозначное получилось...


 
Очень Злой   (2013-07-12 14:20) [4]

а если и 3 исключить (т.е. от 4 до 100) то тогда вообще решения нет.


 
[ВладОшин] ©   (2013-07-12 14:27) [5]


> только решение неоднозначно, если исключить и 2

хотя не..
да,  все правильно, можно 2 исключить :)


 
Jeer ©   (2013-07-12 14:47) [6]

да я и не сомневался, что визири чаще бывают умнее султанов:)


 
Компромисс1 ©   (2013-07-12 15:20) [7]

3 и 8?


 
Очень Злой   (2013-07-12 15:30) [8]


> Компромисс1 ©   (12.07.13 15:20) [7]
>
> 3 и 8?


неа...


 
Султан   (2013-07-12 15:30) [9]

Я (как Султан), вообще то, задумал числа 12 и 18.
Как тупые визири имея сумму 30 и произведение 216, могли бы отгадать (не зная о числах известных другому) загаданные числа?
Похоже что в задаче не хватает каких то дополнительных условий
:(


 
[ВладОшин] ©   (2013-07-12 15:33) [10]


> Султан   (12.07.13 15:30) [9]

если бы мудрейший из султанов, как ныне живущих так и еще не родившихся, был настолько милостлив, что бы задумать  12 и 18, то его недостойные визири не произнесли бы того монолога, что они произнесли, о, эдемоподобный!


 
Султан   (2013-07-12 15:36) [11]

А примерно какой монолог они бы могли произнести?
Первые две их фразы очевидны :)
На мой взгляд, задача действительно недоопределена ...


 
Сергей М. ©   (2013-07-12 15:40) [12]


> Как тупые визири ..могли бы отгадать (не зная о числах известных другому) загаданные числа?


А они их и не отгадывали, на то они и тупые)

Накой шиш им этим заниматься, если зная наперед заморочки султана им вполне можно было договориться о каких-либо системах (основной и нескольких "аварийных") скрытой передачи информации между собой, таких о каких султан заведомо не знает ?) Своего рода набор однаразовых [де]шифрующих алгоритмов и одноразовых же ключей к каждому из них)


 
RWolf ©   (2013-07-12 15:41) [13]


> Султан   (12.07.13 15:36) [11]
> А примерно какой монолог они бы могли произнести?

Визирь*:
- Я не знаю что это за числа
Визирь+:
- Я не был в этом уверен.


 
Султан   (2013-07-12 15:42) [14]

> Сергей М. ©   (12.07.13 15:40) [12]

Это более правдоподобно :)


 
Dennis I. Komarov ©   (2013-07-12 15:42) [15]


> Первые две их фразы очевидны :)
> На мой взгляд, задача действительно недоопределена ...

Вовсе нет...
А если бы он назвал произведение 91?


 
Очень Злой   (2013-07-12 15:42) [16]


> Султан   (12.07.13 15:36) [11]
>
> А примерно какой монолог они бы могли произнести?


Ну первый мог бы произнести "- Я не знаю что это за числа"

Но второй уже не мог быть заранее уверенным в том что первый не знает эти числа..., хотя бы потому как 30=5+25


 
Султан   (2013-07-12 15:46) [17]

Считаю дискуссию не продуктивной.
Ни у одной из сторон (я и оппозиционеры :) ) нет достаточных аргументов.
Еще раз вброшу тезис о недостаточности условий в задаче ...


 
Очень Злой   (2013-07-12 15:56) [18]


> Султан   (12.07.13 15:46) [17]
>
> Считаю дискуссию не продуктивной.
> Ни у одной из сторон (я и оппозиционеры :) ) нет достаточных
> аргументов.
> Еще раз вброшу тезис о недостаточности условий в задаче
> ...


Ну не знаю почему Вы решили что условий недостаточно.
Но задача решается на основании имеющизхся условий и имеет единственный ответ.


 
Jeer ©   (2013-07-12 16:38) [19]

Это типа:

"Самолет долетел из Москвы в Питер за 1 час 30 мин, однако обратный путь  он преодолел уже за 90 минут"

Чем объяснить такую разницу?


 
Компромисс1 ©   (2013-07-12 16:41) [20]

Как решать понятно, но у меня голова сворачивается от перебора вариантов (даже на бумаге). Нет, ну нафиг решать такие задачи за бесплатно :)


 
[ВладОшин] ©   (2013-07-12 16:42) [21]

лётчик поменял в Питере механические часы на электронные? :)


 
[ВладОшин] ©   (2013-07-12 16:45) [22]


> но у меня голова сворачивается от перебора вариантов (

не программист что ли? :)
кинул батон, накатал, там не так много чисел то может быть :)


 
Jeer ©   (2013-07-12 16:45) [23]

>механические часы на электронные

Тепло, но еще варианты?


 
Компромисс1 ©   (2013-07-12 16:53) [24]


> не программист что ли? :)
> кинул батон, накатал, там не так много чисел то может быть
> :)


Предполагается, что эту задачу решает человек. Ее ж не только программистам задают. Нечестно получится.


 
Sha ©   (2013-07-12 16:56) [25]

Jeer ©   (12.07.13 16:38) [19]

обратный путь по течению


 
Очень Злой   (2013-07-12 16:57) [26]


> Jeer ©   (12.07.13 16:38) [19]
>
> Это типа:
>
> "Самолет долетел из Москвы в Питер за 1 час 30 мин, однако
> обратный путь  он преодолел уже за 90 минут"
>
> Чем объяснить такую разницу?


А собственно в чем разница?


 
Sha ©   (2013-07-12 16:58) [27]

[ВладОшин] ©   (12.07.13 16:45) [22]

там программа-то несложная - в массивы условия упихать и пройтись по ним пару раз,
дома напишу


 
[ВладОшин] ©   (2013-07-12 17:04) [28]


> Предполагается, что эту задачу решает человек. Ее ж не только
> программистам задают. Нечестно получится.

А у меня по жизни сложность с решениями в уме. Без шуток. Если не писать - забуду, нахрен.
К тому же, в задаче не сказано сколько времени длился диалог визирей.
Может они после каждой фразы по часу километр пергамента изводили :)
+ есть оправдание - увы, я не визирь :)


> Sha ©   (12.07.13 16:58) [27]

Да я -то, понял :)


 
[ВладОшин] ©   (2013-07-12 17:06) [29]


> >механические часы на электронные
>
> Тепло, но еще варианты?
>

на тепловые поменял !?!? :))


 
Очень Злой   (2013-07-12 17:15) [30]


> Тепло, но еще варианты?


Вобще-то в данном случае разница объясняется форматом символьного представления величины...


 
Inovet ©   (2013-07-12 17:29) [31]

> [23] Jeer ©   (12.07.13 16:45)
> >механические часы на электронные
>
> Тепло, но еще варианты?

Поменяли экипаж.


 
Sha ©   (2013-07-12 19:47) [32]

Вроде, наименьшее решение уже нашли в [7]: 3 и 8.
Чем оно не устраивает?


 
Jeer ©   (2013-07-12 21:08) [33]

>А собственно в чем разница?

До этого мало кто доходит:)

>Вобще-то в данном случае разница объясняется форматом символьного >представления величины...

Туда летели по часам, обратно - по секундомеру (минутомеру).
Но, время полета, есс-но одинаковое :)


 
Очень Злой   (2013-07-12 23:35) [34]


> Sha ©   (12.07.13 19:47) [32]
>
> Вроде, наименьшее решение уже нашли в [7]: 3 и 8.
> Чем оно не устраивает?


оно не удовлетворяет уже второй реплике:
На что второй ответил:
- Я был в этом уверен.


ибо сумма 3+8=11 может быть разложена на 4 и 7, произведение которых 4*7=28 имеет только один дозволенный условием вариант разложения на множители.


 
Rouse_ ©   (2013-07-12 23:48) [35]

Я ничего не понял, ес чесно.
Загадываю два числа - 7 и 8, визирям похоже сразу можно голову рубить?


 
картман ©   (2013-07-13 00:12) [36]


> Загадываю два числа - 7 и 8, визирям похоже сразу можно
> голову рубить?

нельзя такие числа.
15 = 11 + 4


 
Очень Злой   (2013-07-13 00:27) [37]


> Rouse_ ©   (12.07.13 23:48) [35]
>
> Я ничего не понял, ес чесно.
> Загадываю два числа - 7 и 8, визирям похоже сразу можно
> голову рубить?


это задача. тут нужно не загадывать числа, а найти те числа, которые были загаданы и которые приводят к указанному результату.


 
Думкин_   (2013-07-13 11:37) [38]

чертова дюжина


 
Sha ©   (2013-07-13 12:51) [39]

(13,16)


 
Sha ©   (2013-07-13 13:12) [40]


procedure TForm1.Button1Click(Sender: TObject);
const
 min= 3;
 max= 100;
var
 x, y, z: integer;
 MulPairCount, KnownPairCount, HardSumCount, KnownProdCount: array of integer;
begin;
 SetLength(MulPairCount, 1 + max*max);
 for z:=0 to max*max do MulPairCount[z]:=0;
 for x:=min to max do for y:=x to max do inc(MulPairCount[x*y]);

 SetLength(KnownPairCount, 1 + max+max);
 for z:=0 to max+max do KnownPairCount[z]:=0;
 for x:=min to max do for y:=x to max do if MulPairCount[x*y]=1 then inc(KnownPairCount[x+y]);

 SetLength(HardSumCount, 1 + max*max);
 for z:=0 to max*max do HardSumCount[z]:=0;
 for x:=min to max do for y:=x to max do if KnownPairCount[x+y]=0 then inc(HardSumCount[x*y]);

 SetLength(KnownProdCount,1 + max+max);
 for z:=0 to max+max do KnownProdCount[z]:=0;
 for x:=min to max do for y:=x to max do if HardSumCount[x*y]=1 then inc(KnownProdCount[x+y]);

 Memo1.Lines.Clear;
 for x:=min to max do for y:=x to max do
    if (MulPairCount[x*y]>=2)
   and (KnownPairCount[x+y]=0)
   and (HardSumCount[x*y]=1)
   and (KnownProdCount[x+y]=1)
   then Memo1.Lines.Add(Format("(%d,%d)      %d %d %d %d",
        [x, y,
         MulPairCount[x*y],
         KnownPairCount[x+y],
         HardSumCount[x*y],
         KnownProdCount[x+y]
        ]));

 end;


 
картман ©   (2013-07-13 15:23) [41]


> Sha ©   (13.07.13 13:12) [40]

круто!

А вот это:
Memo1.Lines.Clear;
for x:=min to max do for y:=x to max do
   if (MulPairCount[x*y]>=2)
  and (KnownPairCount[x+y]=0) //- не излишня ли проверка

, учитывая
 for x:=min to max do for y:=x to max do if MulPairCount[x*y]=1 then inc(KnownPairCount[x+y]);

?


 
Sha ©   (2013-07-13 15:31) [42]

> картман ©   (13.07.13 15:23) [41]
> не излишня ли проверка

попробуй ее закомментировать - узнаешь )


 
картман ©   (2013-07-13 15:38) [43]


> попробуй ее закомментировать - узнаешь )

))


 
Компромисс1 ©   (2013-07-13 17:09) [44]


> (13,16)


Если это верный ответ, то у меня претензия к топик-стартеру: надо сразу было писать, чтобы не пытались решить без компьютерной программы.


 
Sha ©   (2013-07-13 18:01) [45]

почти все задачи на перебор не для человека


 
Очень злой   (2013-07-14 08:53) [46]


> Sha ©   (13.07.13 12:51) [39]
>
> (13,16)


Да.


> Компромисс1 ©   (13.07.13 17:09) [44]
>
>
> > (13,16)
>
>
> Если это верный ответ, то у меня претензия к топик-стартеру:
>  надо сразу было писать, чтобы не пытались решить без компьютерной
> программы.


Ну так я же написал задачку на форуме программистов. )

Не, ну можно и вручную решать, потратится только много времени и бумаги. Но программисты - на то они и программисты, чтобы для долгих, нудных и тупых вычислений использовать комп, а мозги занять чем-то более умным и интересным, т.е. написанием самой программы...


 
Юрий Зотов ©   (2013-07-14 23:39) [47]

> султан сообщил первому визирю произведение этих чисел,
> а второму - их сумму.
> Первый визирь подумал и говорит:

Какое число назвал тебе султан?

Получив ответ, первый визирь решает систему двух уравнений с двумя неизвестными:
x+y=s
x*y=m

и называет оба числа.


 
Юрий Зотов ©   (2013-07-15 00:48) [48]

Таким образом, при любых S и M решений не может быть больше двух (это к вопросу о недоопределенности задачи).


 
Компромисс1 ©   (2013-07-15 10:35) [49]

- Я загадал два числа A и B от 3 до 100. Вы должны их мне назвать.
При этом султан сообщил первому визирю произведение этих чисел P, а второму - их сумму S.Первый визирь подумал и говорит:
- Я не знаю что это за числа


1) P является произведением более чем двух пар чисел от 3 до 100 (далее не пишу от 3 до 100)

На что второй ответил:
- Я был в этом уверен.


2) S является суммой более чем двух пар чисел, произведение каждой пары является произведением более чем двух пар чисел от 3 до 100


> Тогда первый говорит:
> - В таком случае, я знаю, что это за числа.


3) Только одна пара чисел из 1) обладает свойством 2)

Второй:
- Тогда и я знаю, что это за числа.


4) Только одна пара чисел из 2) обладает своством 3)


 
Компромисс1 ©   (2013-07-15 10:36) [50]

Вместо "более чем двух пар" везде должно стоять "более чем одной пары"


 
Sha ©   (2013-07-15 10:39) [51]

Судя по всему, тут кое-кого не устраивает формулировка задачи)
Позволю себе немного ее подредактировать.

У одного султана было 2 мудреца и кандидат на место третьего - ты.
Захотел он проверить твою сообразительность.

Позвал к себе мудрецов и кандидата и сказал всем троим:
- Я загадал два числа от 3 до 100. Первому мудрецу я прошепчу на ухо
произведение этих чисел, второму - сумму.

Сделал он так, потом спрашивает второго мудреца:
- Как ты думаешь, если бы мой первый вопрос был бы задан первому
мудрецу, смог ли он назвать мне задуманные числа?
- Нет.

Тогда султан спрашивает первого мудреца:
- Можешь ли ты назвать эти числа?
- Да.

Затем султан спрашивает второго:
- Можешь ли ты назвать эти числа?
- Да.

Затем султан обращается к тебе:
- Назови мне зти числа или я прикажу отрубить тебе голову!


 
Очень Злой   (2013-07-15 10:45) [52]


> Sha ©   (13.07.13 13:12) [40]


Я так делал:
var
 min,max:integer;  

...

// Реплика 1. Первый визирь не знает числа.
// Следовательно произведение имеет более одного варианта разложения
// на множители удовлетворяющие условию задачи
//
// функция возвращает true - если произведение имеет один вариант разложения

function IsP1(num:integer):boolean;
var
 i:integer;
 count:integer;
begin
 count:=0;
 for i:=min to trunc(sqrt(num)) do if (num mod i = 0) and (num div i <= max) then inc(count);
 result:=count=1;
end;

// реплика 2. Второй визирь уверен в том что первый не знал числа.
// Следовательно названная ему сумма ни каким образом не может быть разложена
// на слагаемые, удовлетворяющие условию задачи,
// на произведение которых ранее описанная функция IsP1() выдала бы true.
//
// Для такой суммы возвращается true

function IsS1(num:integer):boolean;
var
i:integer;
begin
result:=true;
for i:=min to num div 2 do if (num-i<=max) and isp1(i*(num-i)) then
  begin
    result:=false;
    break;
  end;
end;

// реплика 3. Первый визирь говорит что он знает числа.
// Следовательно произведение чисел среди всех своих вариантов разложения
// имеет один и только один вариант разложения на множители удовлетворяющие условию задачи
// для суммы которых ранее описанная функция IsS1() даст true
//
// для таких произведений возвращаем true

function IsP2(num:integer):boolean;
var
i:integer;
count:integer;
begin
count:=0;
if not IsP1(num) then for i:=min to trunc(sqrt(num)) do
  if (num mod i = 0) and (num div i <= max) and IsS1(i+(num div i)) then inc(count);
result:=count=1;
end;

// Реплика 4. Второй визирь сказал что тоже знает числа.
// Следовательно сумма имеет один и только один вариант разложения на слагаемые удовлетворяющие условию задачи
// для произведения которых ранее описанная функция IsP2 дает true
//
// для таких сумм возвращаем строку с обоими числами, иначе пустую строку
function IsS2(num:integer):string;
var
i,count:integer;
begin
count:=0;
if IsS1(num) then for i:=min to num div 2 do
  if (num-i<=max) and isp2(i*(num-i)) then
     begin
       inc(count);
       result:=inttostr(i)+"  "+inttostr(num-i);
     end;
if count<>1 then result:="";
end;

// ну и наконец-то сам перебор сумм и вывод результата
procedure TForm1.Button1Click(Sender: TObject);
var
k:integer;
p:string;
begin
min:=SpinEdit1.Value; // минимальное значение чисел
max:=SpinEdit2.Value; // максимальное значение чисел
// перебираем все возможные суммы двух чисел
for k:=min+min to max+max do
begin
  p:=iss2(k);
  if length(p)>0 then Memo1.Lines.Add(p);
end;
end;



 
Sha ©   (2013-07-15 11:00) [53]

> Очень Злой   (15.07.13 10:45) [52]
> Я так делал:


Считает долго, наверное?

Я с самого начала нацелился на массивы, т.к. предполагал,
что будет сильная зависимость решения от диапазона разрешенных чисел.

Результат оказался даже интереснее, чем я мог ожидать.
С увеличением верхней границы новые решения не только появляются,
но и исчезают...


 
Очень Злой   (2013-07-15 11:09) [54]


> Считает долго, наверное?


Совсем нет. по крайней мере визуально не заметно задержки...

Пробовал GetTickCount, но разница между его значением после расчетов и до расчетов обычно равна 0


 
Sha ©   (2013-07-15 11:13) [55]

Я свою гонял с небольшим шагом до переполнения памяти (max=12000),
увидел много интересного.

С вложенными вызовами такое вряд ли удалось бы в преемлемое время)


 
Очень Злой   (2013-07-15 11:17) [56]


> Sha ©   (15.07.13 11:13) [55]
>
> Я свою гонял с небольшим шагом до переполнения памяти (max=12000),
>
> увидел много интересного.


Ну у меня если max увеличивать - то да, время вычислений начинает быть заметным. 12000 не пробовал... наверное действительно будет долго...


 
Визирь 3   (2013-07-17 10:01) [57]

> - Я загадал два числа от 3 до 100. Вы должны их мне назвать.


А султан загадывает разные числа или может загадать и два одинаковых? Например 22 и 22.


 
Sha ©   (2013-07-17 10:35) [58]

Ты должен исходить из того, что он может загадать любые в указанном интервале.

Но т.к. числа загадываются им для проверки твоей сообразительности,
то это существенно ограничивает выбор султана.

В задаче тебе предлагается найти все возможные пары чисел,
которые может выбрать султан.


 
Дмитрий СС   (2013-07-17 10:38) [59]

Как вы формализовали две последних реплики?


 
Sha ©   (2013-07-17 10:39) [60]

И, мне кажется, лучше использовать условия задачи из [51].
В такой формулировке они понимаются однозначно.


 
Sha ©   (2013-07-17 10:44) [61]

> Дмитрий СС   (17.07.13 10:38) [59]
> Как вы формализовали две последних реплики?


Выбирай, что больше нравится:

Sha ©   (13.07.13 13:12) [40]
Компромисс1 ©   (15.07.13 10:35) [49, 50]
Очень Злой   (15.07.13 10:45) [52]

В любом из этих постов смотри 2 последних куска текста)


 
Визирь 3   (2013-07-17 10:51) [62]

> Sha ©   (17.07.13 10:35) [58]
> Ты должен исходить из того, что он может загадать любые
> в указанном интервале.

Любые разные или любые и одинаковые тоже?

Это существенно. Так как в одном случае таких пар нет, а в другом есть одна, которая и озвучена.


 
Sha ©   (2013-07-17 10:57) [63]

Первое число - любое из диапазона 3..100.
Второе число - любое из диапазона 3..100.
Естественно, они могут совпасть)


 
Визирь 3   (2013-07-17 11:03) [64]

ну, это не очевидно из фразы:

> Я загадал два числа от 3 до 100.


потому и уточнил. Дело в том. что я первоначально решал исходя из предположения, что одинаковые нельзя и получал, что решения нет. У вас же заметил, что вы используете и диагональ. Изменил и получил ответ. Проанализировав нашел и причину.


 
Дмитрий СС   (2013-07-17 11:09) [65]


> Sha ©   (17.07.13 10:44) [61]

В твоем варианте получается что оба числа простые и подобрать не так сложно.

Но в исходной задаче, если оба числа простые - то первый визирь сразу бы сказал что он может их назвать.

Поэтому такая переформулировка не эквивалентна исходной задаче.


 
Sha ©   (2013-07-17 11:10) [66]

Понимаю.

Решая задачу, я предположил, что если бы одинаковые было нельзя,
фраза звучала как-то так: "Я загадал два различных числа от 3 до 100".


 
Sha ©   (2013-07-17 11:11) [67]

> Дмитрий СС   (17.07.13 11:09) [65]
> В твоем варианте получается что оба числа простые...

Поясни, как это получается?


 
Дмитрий СС   (2013-07-17 11:24) [68]

Первый визирь (произведение = 24) подумал и говорит:
- Я не знаю что это за числа (т.е. это может быть 3*8 и 6*4)

На что второй (имея сумму = 11) ответил:
- Я был в этом уверен (т.к. все комбинации 3*8, 4*7, 5*6 не раскладываются однозначно на множители от 3 до 100).
Если бы второй услышал сумму=10, но не был бы уверен (т.к. произведение мого бы быть 3*7 (два простых числа)).

Тогда первый говорит (поняв, что если второй уверен, то сумма равна 11):
- В таком случае, я знаю, что это за числа (3 и 8).

Второй:
- Тогда и я знаю, что это за числа (тут мне уже лень рассуждать, но думаю не сложно исключить 4и7 и 5и6).


 
Визирь 3   (2013-07-17 11:26) [69]

4*7 - однозначно в нашем диапазоне


 
Дмитрий СС   (2013-07-17 11:28) [70]

4и7 и 5и6 исключаются потому, что первый бы сразу назвать эти числа. Вот.


 
Визирь 3   (2013-07-17 11:28) [71]

У второго визиря в случае возможности одинаковы пар может быть

[13, 19, 25, 29, 31, 37, 43, 49, 53, 55]

в случае только различных

[13, 19, 25, 29, 31, 37, 43, 49, 53]

11 тут нет.


 
Визирь 3   (2013-07-17 11:30) [72]


> 5и6

нет

5*6 = 10 * 3


 
Дмитрий СС   (2013-07-17 11:31) [73]

если бы были числа 4 и 7 . первый визирь имея произведение = 28 = 2 * 2 * 7 сразу бы ответил что знает эти числа, т.к. разложения 2 и 14 не может быть по условию задачи.


 
Дмитрий СС   (2013-07-17 11:33) [74]

с 4 и 7 определились, сейчас с 5 и 6 попробую


 
Визирь 3   (2013-07-17 11:35) [75]


> Дмитрий СС   (17.07.13 11:31) [73]

Все это более чем замечательно. Но никак не проливает свет на [61].


 
Визирь 3   (2013-07-17 11:35) [76]

на 65, конечно.


 
Sha ©   (2013-07-17 11:39) [77]

> Дмитрий СС   (17.07.13 11:24) [68]
> т.к. все комбинации 3*8, 4*7, 5*6 не раскладываются однозначно на множители от 3 до 100).

А как еще можно разложить 28=4*7=?*?

> Если бы второй услышал сумму=10, но не был бы уверен (т.к. произведение мого бы быть 3*7 (два простых числа)).

Не понял.


 
Дмитрий СС   (2013-07-17 12:01) [78]


> Sha ©   (17.07.13 11:39) [77]

Никак, я ошибся.


 
Дмитрий СС   (2013-07-17 12:20) [79]


> > Если бы второй услышал сумму=10, но не был бы уверен (т.
> к. произведение мого бы быть 3*7 (два простых числа)).
>
> Не понял.

Если сумма может быть разложена на сумму двух простых чисел, то второй визирь уже не может быть уверен в том что первый не знает чисел.


 
Sha ©   (2013-07-17 13:46) [80]

> Дмитрий СС   (17.07.13 12:20) [79]
> Если сумма может быть разложена на сумму двух простых чисел,
> то второй визирь уже не может быть уверен в том что первый не знает чисел.


Ну, это очевидно.
В этой задаче проще не пользоваться простотой чисел )

Гораздо выгоднее подсчитывать количество всевозможных произведений
чисел из заданного диапазона.

Это также позволит легко поиграть с границами при желании.


 
Дмитрий СС   (2013-07-17 16:30) [81]

Так однозначное решение найдено уже или нет?


 
Sha ©   (2013-07-17 16:51) [82]

> Дмитрий СС   (17.07.13 16:30) [81]

для диапазона 3..100 существует единственное решение задачи - пара чисел (13,16)


 
Дмитрий СС   (2013-07-17 16:53) [83]


> Sha ©   (17.07.13 16:51) [82]
>

А некомпьютерное решение есть?


 
Sha ©   (2013-07-17 17:06) [84]

> Дмитрий СС   (17.07.13 16:53) [83]

Ручной перебор всех пар чисел. За основу можно взять алгоритм [40].
Там кое-что можно упростить - он специально записан в наиболее наглядном виде.


 
Empleado ©   (2013-07-17 17:31) [85]


> Дмитрий СС   (17.07.13 16:53) [83]
> А некомпьютерное решение есть?

Подобное: http://intelmath.narod.ru/twowisemen.html
Надо только условие поменять


 
Sha ©   (2013-07-18 10:51) [86]

> Empleado ©   (17.07.13 17:31) [85]

чтобы использовать те рассуждения с минимальными изменениями в новых условиях,
придется на время решения число 4 считать простым )


 
Anatoly Podgoretsky ©   (2013-07-18 12:46) [87]

> Sha  (18.07.2013 10:51:26)  [86]

Что делать, ведь военное положение. Ведь это ПИ в военное время



Страницы: 1 2 3 вся ветка

Текущий архив: 2014.01.05;
Скачать: CL | DM;

Наверх




Память: 0.7 MB
Время: 0.009 c
15-1374054402
[ВладОшин]
2013-07-17 13:46
2014.01.05
Вроде FlushBuffer для dbms_output.put_line


2-1362916640
Павел Калугин
2013-03-10 15:57
2014.01.05
Куда DecimalSeparator в XE3 запихали?


2-1363268014
accessviolation
2013-03-14 17:33
2014.01.05
сравнение чисел


15-1374420692
ClawClaw
2013-07-21 19:31
2014.01.05
Чей шахматный стиль вам больше всего по душе?


11-1248364961
Jon
2009-07-23 20:02
2014.01.05
Label, Editbox and Mnemonic