На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 34
ссылка на сообщение  Отправлено: 12.09.22 07:41. Заголовок: № 5515


Добрый день. Можно ли № 5515 решать так ? Если нет, то где ошибка?

(№ 5515) (И. Степанов) Операнды арифметического выражения записаны в системе счисления с основанием 55.
ZaYX55 – 2XaY55
В записи чисел переменной a обозначена неизвестная цифра из алфавита 44-ричной системы счисления. Определите наибольшее и наименьшее значение a, при котором значение данного арифметического выражения кратно 29. Для найденных значений a найдите модуль разности значений соответствующих выражений.
 
var
x, y, z, a, min, max: integer;
f, p,k: biginteger;

begin
min := 44;
max := -1;
for x := 0 to 54 do
for y := 0 to 54 do
for z := 0 to 54 do
for a := 0 to 43 do
begin
f := z * biginteger.Pow(55, 3) + a * biginteger.Pow(55, 2) + y * 55 + x - 2 * biginteger.Pow(55, 3) - x * biginteger.Pow(55, 2) - a * 55 - y;
if (f mod 29 = 0) and (a < min) then
begin
min := a;
p := f;
end;
if (f mod 29 = 0) and (a > max) then
begin
max := a;
k := f;
end;
end;
write(abs(k - p));
end.


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 14 [только новые]





Сообщение: 1
ссылка на сообщение  Отправлено: 17.09.22 18:26. Заголовок: Ответ автора задачи


Здравствуйте.
Дело в том, что вы не совсем поняли условие задачи, так как в ней была небольшая ловушка. X, Y и Z - это не переменные. Это цифры числа в 44-ричной системе счисления. A-1-, B-11, .., F -16, ......, X-33, Y-34, Z - 35.
Соответственно не нужно перебирать X, Y, Z, Причем совершенно непонятно, почему перебор для 44-ричной системы счисления идет от 0 до 54. Таким образом программу нужно дорабатывать.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 442
ссылка на сообщение  Отправлено: 03.05.23 04:00. Заголовок: Stepanoviv пишет: П..


Stepanoviv пишет:

 цитата:
Причем совершенно непонятно, почему перебор для 44-ричной системы счисления идет от 0 до 54. Таким образом программу нужно дорабатывать.


Если внимательно прочитать условие задачи, то можно заметить, что там нет 44-ричной системы счисления:

"364 (И. Степанов) Операнды арифметического выражения записаны в системе счисления с основанием 55.
    ZaYX55 – 2XaY55

В записи чисел переменной a обозначена неизвестная цифра из алфавита 55-ричной системы счисления. Определите наибольшее и наименьшее значение a, при котором значение данного арифметического выражения кратно 29. Для найденных значений a найдите модуль разности значений соответствующих выражений."

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 35
ссылка на сообщение  Отправлено: 19.09.22 09:06. Заголовок: Спасибо..


Спасибо

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 36
ссылка на сообщение  Отправлено: 19.09.22 09:06. Заголовок: Спасибо..


Спасибо

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 20.09.22 16:46. Заголовок: Добрый день! Вы изме..


Добрый день! Вы изменили условие задачи 5515 и это понятно. Но и теперь НЕ ПОНЯТНО, почему X-33, Y-34, Z-35? Для этих значений ответ получается, но откуда и в какой системе счисления значение переменных ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3700
ссылка на сообщение  Отправлено: 20.09.22 16:55. Заголовок: Все цифры заданы в с..


Все цифры заданы в системе счисления с основанием 55.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 1 
ПрофильЦитата Ответить



Сообщение: 2
ссылка на сообщение  Отправлено: 20.09.22 17:15. Заголовок: Спасибо! Тогда цифр ..


Спасибо! Тогда цифр 55, старшая 54 и откуда следует, что Z-35?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3701
ссылка на сообщение  Отправлено: 20.09.22 17:24. Заголовок: Тверская пишет: отку..


Тверская пишет:
 цитата:
откуда следует, что Z-35?

Первые 36 цифр - стандартные: 0123...9ABC...XYZ.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 1 
ПрофильЦитата Ответить



Сообщение: 4
ссылка на сообщение  Отправлено: 20.09.22 17:26. Заголовок: Вот теперь СПАСИБО! ..


Вот теперь СПАСИБО! Огромное! Извините за бестолковость!

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 04.04.23 11:52. Заголовок: Вариант с массивом и..


Вариант с массивом и без массивов по горнеру:
Без массива:
for a in range(55):
s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34 # т.к. вычитаем, не забываем сменить знак
на противоположный
if s%29==0:
min=s
break
for a in range(55):
s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34
if s%29==0:
print(a)
max=s
print(max-min)

Ответ: 86130
С массивом:
m=[]
for a in range(55):
s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34
if s%29==0: m.append(s) #при выполнении условия добавляем s в массив
print(max(m)-min(m))

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 1
ссылка на сообщение  Отправлено: 04.04.23 11:59. Заголовок: Извините не учёл, что пробелы стираются - для наглядности заменил их точками.


Без массива:
for a in range(55):
...s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34 # т.к. вычитаем, не забываем сменить знак
..................................................................................... на противоположный
...if s%29==0:
......min=s
......break
for a in range(55):
... s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34
...if s%29==0: max=s
print(max-min)

Ответ: 86130
С массивом:
m=[]
for a in range(55):
...s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34
...if s%29==0: m.append(s) #при выполнении условия добавляем s в массив
print(max(m)-min(m))

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 443
ссылка на сообщение  Отправлено: 03.05.23 04:57. Заголовок: Трухний пишет: Без ..


Трухний пишет:

 цитата:
Без массива:
for a in range(55):
...s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34 # т.к. вычитаем, не забываем сменить знак
..................................................................................... на противоположный
...if s%29==0:
......min=s
......break
for a in range(55):
... s=((35*55+a)*55+34)*55+33-((2*55+33)*55+a)*55-34
...if s%29==0: max=s
print(max-min)

Ответ: 86130



Как-то уж очень мудрено!
Можно и без массива, и проще, например так:
 
Max = Min = 0
for a in range(54+1):
a1 = 35*55**3 + a*55**2 + 34*55 + 33
a2 = 2*55**3 + 33*55**2 + a*55 + 34
if abs(a1 - a2)%29 == 0:
if Min == 0:Min = abs(a1 - a2)
Max = abs(a1 - a2)
print( Max - Min )


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 3950
ссылка на сообщение  Отправлено: 04.04.23 12:03. Заголовок: Извините не учёл, ч..



 цитата:
Извините не учёл, что пробелы стираются - для наглядности заменил их точками.

А если прочитать, что написано на желтом фоне в верхней части страницы, то и не понадобится так делать.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 441
ссылка на сообщение  Отправлено: 03.05.23 03:55. Заголовок: inform_lesson пишет:..


inform_lesson пишет:

 цитата:
Добрый день. Можно ли № 5515 решать так ? Если нет, то где ошибка?

(№ 5515) (И. Степанов) Операнды арифметического выражения записаны в системе счисления с основанием 55.
ZaYX55 – 2XaY55
В записи чисел переменной a обозначена неизвестная цифра из алфавита 44-ричной системы счисления. Определите наибольшее и наименьшее значение a, при котором значение данного арифметического выражения кратно 29. Для найденных значений a найдите модуль разности значений соответствующих выражений.



В разбираемой задаче нет ни единого слова о 44-ричной системе счисления!

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают: гостей: 1
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2486
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет