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

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

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

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





Сообщение: 1
ссылка на сообщение  Отправлено: 10.11.20 13:54. Заголовок: Не сходиться ответ к задаче №25(117)


117) Рассматриваются целые числа, принадлежащих числовому отрезку [105673; 220784], которые представляют собой произведение трёх различных простых делителей. В ответе запишите количество таких чисел и максимальное из них.
Может я неправильно понимаю задание. Нужно же найти все числа состоящие из 3-х простых делителей(чисел)?Например 220778=2*59*1871, но в ответ:13487 220777. Да и количество у меня программа выдаёт 23707.
 a=[] 
for i in range(2,50000):
k=True
for j in range(2,i//2+1):
if i%j==0:
k=False
break
if k==True:
a.append(i)
count=0
maximum=0
k=[]
n=1
for i in range(105673,220784):
for elem in a:
if i%elem==0:
k.append(elem)
n=n*elem
if len(k)==3:
if n==i:
count += 1
if i > maximum:
maximum = i
break
k=[]
n=1
print(count,maximum)

Выдаёт
23707 220778

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


Администратор




Сообщение: 2125
ссылка на сообщение  Отправлено: 10.11.20 19:52. Заголовок: Вячеслав_Б пишет: Вы..


Вячеслав_Б пишет:
 цитата:
Выдаёт 23707 220778

Спасибо, вы правы. Ответы исправлены.

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



Сообщение: 2
ссылка на сообщение  Отправлено: 15.11.20 15:34. Заголовок: Не сходится первый ответ к задаче 25_101


25_101. Среди целых чисел, принадлежащих числовому отрезку [125697;190234], найдите числа, которые представляют собой произведение двух различных простых делителей. Запишите в ответе количество таких чисел и максимальное их них.

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

var d,kpd,count,maxx:integer; 
function prost(d:integer):Boolean;
var j:integer; flag:boolean;
begin
j:=2; flag:=TRUE;
While (j*j<=d) and flag do
if d mod j=0 then flag:=FALSE else j:=j+1;
prost:=flag
end;

BEGIN
count:=0;
for var n:=125697 to 190234 do
begin
if n mod 1000=0 then write('.');
kpd:=0; d:=2; {kpd - кол. простых делителей числа n}
while d<=(n div 2) do {проверяем все возможные делители числа n}
if (n mod d=0) and prost(d) {если d - простой делитель числа n}
then begin kpd:=kpd+1; inc(d) end
else inc(d);
if kpd=2 then begin inc(count); maxx:=n end
end;
println(count, maxx)
END.


Программа выдает 19550 190231, ответ на сайте 14047 190231

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




Сообщение: 2131
ссылка на сообщение  Отправлено: 15.11.20 15:47. Заголовок: check8386 пишет: Про..


check8386 пишет:
 цитата:
Программа выдает 19550 190231, ответ на сайте 14047 190231

Вы учитываете все числа, которые имеют два простых делителя и сколько угодно непростых.

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





Сообщение: 2
ссылка на сообщение  Отправлено: 10.02.21 13:14. Заголовок: Меня интересует эта ..


Меня интересует эта же 117 задача.
117) Рассматриваются целые числа, принадлежащих числовому отрезку [105673; 220784], которые представляют собой произведение трёх различных простых делителей. В ответе запишите количество таких чисел и максимальное из них.

Здесь я записываю в массив k простые числа, на которые делится рассматриваемое из диапазона [105673; 220784] число. И как только в массиве становится больше 3 элементов, я ставлю break. Скажите, пожалуйста, правильно ли я делаю? Ответ выходит правильно, но в моем решении я сомневаюсь.
 a=[]  
for i in range(2,37000):
k=True
for j in range(2,i//2+1):
if i%j==0:
k=False
break
if k==True:
a.append(i)
count=0
maximum=0
for i in range(105673,220784):
k=[]
n=1
for elem in a: #берем каждый элемент из массива простых чисел("а")
if i%elem==0:
k.append(elem)
n=n*elem
if len(k)>3:
break
if len(k)==3:
if n==i:
count += 1
if i > maximum:
maximum = i
break
print(count,maximum)


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




Сообщение: 2422
ссылка на сообщение  Отправлено: 10.02.21 15:23. Заголовок: Andreyka009 пишет: С..


Andreyka009 пишет:
 цитата:
Скажите, пожалуйста, правильно ли я делаю? Ответ выходит правильно, но в моем решении я сомневаюсь.

Все правильно вы делаете.

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





Сообщение: 13
ссылка на сообщение  Отправлено: 19.04.21 15:56. Заголовок: Andreyka009 пишет: ..


Andreyka009 пишет:

 цитата:
for i in range(2,37000):


А почему мы здесь проверяем простые делители до 37000,а не до максимального числа в последовательности iMax=220784?

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



Сообщение: 3
ссылка на сообщение  Отправлено: 15.11.20 16:49. Заголовок: Спасибо! Программу и..


Спасибо! Программу исправила.

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





Сообщение: 6
ссылка на сообщение  Отправлено: 14.04.21 18:35. Заголовок: Вячеслав_Б пишет: Н..


Вячеслав_Б пишет:

 цитата:
Нужно же найти все числа состоящие из 3-х простых делителей(чисел)?


Но в задаче же сказано «целые числа, принадлежащих числовому отрезку [105673; 220784], которые представляют собой произведение трёх различных простых делителей»поэтому,если я правильно понимаю,их может быть и больше скажем 5,главное чтобы произведение 3-х из них было равно числу из рассматриваемого диапазона,т.е. таким образом мы должны найти количество различных сочетаний из 3-x простых делителей ко всему списку и если хотя бы одна тройка простых чисел при перемножении нам подходит,то и число нам подходит?

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




Сообщение: 2701
ссылка на сообщение  Отправлено: 14.04.21 22:02. Заголовок: nikitadvu пишет: есл..


nikitadvu пишет:
 цитата:
если хотя бы одна тройка простых чисел при перемножении нам подходит,то и число нам подходит?

Да, так. В почему сомнения?

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

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