Форум: "Прочее";
Текущий архив: 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