Konkord
Дек. 23, 2014 17:19:55
Уважаемые форумчане, доброго времени суток)
Пожалуйста, помогите написать программу, которая для каждого натурального числа в промежутке от m до n выводит все делители, кроме единицы и самого числа. m и n вводятся с клавиатуры. Питон я изучаю недавно, а Паскаль дольше и знаю его немного лучше.
program delitel;
var
m,n,i: integer;
begin
writeln('Введите m и n');
readln(m,n);
while m <= n do begin
write(m,': ‘);
for i:=2 to m-1 do begin
if m mod i = 0 then write(i,’ ');
end;
writeln;
m := m + 1;
end;
readln;
end.
terabayt
Дек. 23, 2014 17:43:43
третий пайтон?
terabayt
Дек. 23, 2014 17:50:05
print '\n'.join([str(i) + ' >> ' + ' '.join([str(j) for j in range(2, i) if not i % j]) for i in range(int(input('m = ')), int(input('n = ')))])
NotDeadAlready
Дек. 27, 2014 14:31:43
Единицу к m добавить забыли. Да и вообще перегружено, ИМХО. Логика и вывод должны быть отделены.
def divisors(n, m):
return [[j for j in range(2, i) if i % j == 0] for i in range(n, m + 1)]
for i in divisors(1, 9):
if len(i) == 0:
print('-')
else:
print(' '.join(map(str, i)))
P.S. Почему этот форум сжирает пустые строки? Это экономия чего, пикселей? Всякое я видал, но такое!..
4kpt_III
Дек. 27, 2014 16:27:31
NotDeadAlready
if len(i) == 0:
NotDeadAlready
if i % j == 0
Улыбнуло…
Да и вообще
for i in divisors(1, 9):
if len(i) == 0:
print('-')
else:
print(' '.join(map(str, i)))
Мощно.
terabayt
Дек. 27, 2014 17:06:53
NotDeadAlready
Единицу к m добавить забыли
ну не к m а к n
Konkord
m и n вводятся с клавиатуры
NotDeadAlready
Это экономия чего, пикселей? Всякое я видал, но такое!..
не думаю что вы много видели…
4kpt_III
Улыбнуло…
Да и вообще
Мощно.
Вы ничего не понимаете )
NotDeadAlready
Синтаксис Питона сосредоточил в себе несуразности Лиспа и Фортрана
4kpt_III
Дек. 27, 2014 17:10:16
terabayt
Согласен. Как для человека, который так подписался - слишком много говнокода.
P.S. И да. Про генераторы он тоже ничего не слышал…
NotDeadAlready
Дек. 27, 2014 17:39:52
И да. Про генераторы он тоже ничего не слышал…
Телепат вернулся из отпуска?
4kpt_III
Дек. 27, 2014 17:41:54
Вы говнокодик подчистите, тогда и телепатией заниматься не придется. Написать функцию, которая возвращает список, там где должен быть генератор именно приводит к таким выводам.
NotDeadAlready
Дек. 27, 2014 18:17:49
Ничего я чистить не собираюсь, особенно когда со мной разговаривают в таком тоне. Понятие генератора я самостоятельно и независимо изобрел еще когда был подростком и писал на Форте для Спектрума. Тогда не было ни интернетов, ни книг нормальных. Подозреваю, что Вас на свете тоже тогда еще не было.
А я еще пытался вспомнить, почему я на этот сайт не заходил так долго, что даже забыл, что у меня здесь аккаунт есть. Хотел зарегистрироваться - а мне говорят, почтовый ящик такой уже используется. Я восстанавливаю пароль - и он приходит на почту. Видимо, в прошлый раз с таким же знатоком познакомился и решил знакомство не продолжать. Как бы так себя забанить, чтобы потом, лет через 5-6, я опять здесь не оказался случайно? Пайтон для меня не единственный и даже не главный инструмент, обойдусь как-нибудь. Я лучше на англоязычном форуме зарегистрируюсь, там такого нет, знаю по опыту общения на форуме по С/С++. Американцы ж туупыые - даже не знают, что в интернете надо оскорблять.