Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.01.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
Очень Злой   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.69 MB
Время: 0.004 c
2-1362983894
Jonis_84
2013-03-11 10:38
2014.01.05
символ: byte , из edit


15-1374195522
Чайник1
2013-07-19 04:58
2014.01.05
Как у файла экселя поменять поле "автор"?


15-1374222419
Vasa777
2013-07-19 12:26
2014.01.05
крипто


15-1374046196
Юрий
2013-07-17 11:29
2014.01.05
С днем рождения ! 17 июля 2013 среда


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский