Тема: Проект Ейлера розв’язання задач на пітоні .
Думаю почати розв’язувати завдання Ейлера якими не давно зі мною поділивс yellow
Тому за естетичніші варіанти розв’язання буду тільки вдячний .
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Проект Ейлера розв’язання задач на пітоні .
Для відправлення відповіді ви повинні увійти або зареєструватися
Думаю почати розв’язувати завдання Ейлера якими не давно зі мною поділивс yellow
Тому за естетичніші варіанти розв’язання буду тільки вдячний .
y = range(1,1001)
print sum([i for i in y if i%3+i%5==0])
y = range(1,1001) print sum([i for i in y if i%3+i%5==0])
Давно з пайтоном знайомі ?
Варто починати з Лутца ?
Я з вами точно Python вивчу...
sum3 = ( 3 + 999 ) * ( 999 / 3 ) / 2
sum5 = ( 5 + 995 ) * ( 995 / 5 ) / 2
sum15 = ( 15 + 990 ) * ( 990 / 15 ) / 2
print ( sum3 + sum5 - sum15 )
y = range(1,1001) print sum([i for i in y if i%3+i%5==0])
Якшо другий Python то xrange і [] можна не писати
print sum(i for i in y if i%3+i%5==0)
дел
Я з вами точно Python вивчу...
sum3 = ( 3 + 999 ) * ( 999 / 3 ) / 2 sum5 = ( 5 + 995 ) * ( 995 / 5 ) / 2 sum15 = ( 15 + 990 ) * ( 990 / 15 ) / 2 print ( sum3 + sum5 - sum15 )
А тепер оформіть від 10 до 38398.
Будь ласка, із довільними дільниками. Звісно, все можна втягнути в одну формулу.
def arithmeticProgressionSum( start, finish, step ):
return ( ( start + finish ) * ( ( finish - start ) / step + 1 ) / 2 )
def geAndDivides( x, divisor ):
return ( ( ( x - 1 ) // divisor + 1 ) * divisor )
def leAndDivides( x, divisor ):
return ( x // divisor * divisor )
def sumOfDivisors( start, finish, divisor ):
return ( arithmeticProgressionSum( geAndDivides( start , divisor ),
leAndDivides( finish - 1, divisor ),
divisor ) )
def sumOfDivisors2( start, finish, divisor1, divisor2 ):
return ( sumOfDivisors ( start, finish, divisor1 ) +
sumOfDivisors ( start, finish, divisor2 ) -
sumOfDivisors ( start, finish, divisor1 * divisor2 ) )
print ( sumOfDivisors2( 1 , 1000 , 3, 5 ) )
print ( sumOfDivisors2( 10, 38398, 3, 5 ) )
Для довільного числа дільників теж можна, але треба вже ретельно вчити мову - там треба додавати суми по простих множниках, віднімати суми всіх попарних комбінацій, додавати суми всіх потрійних комбінацій і т.д., знак залежить від парності кількості комбінацій
Давно з пайтоном знайомі ?
15 років
Варто починати з Лутца ?
Лутц?
Blast написав:Давно з пайтоном знайомі ?
15 років
Blast написав:Варто починати з Лутца ?
Лутц?
Марк Лутц "Вивчаєм пайтон" "Програмуєм на пайтон" 4-е видання
Марк Лутц "Вивчаєм пайтон" "Програмуєм на пайтон" 4-е видання
Лутц тяготомотний, імго. Для схоплення основ мені вистачило ван Россума (і ще якась мініатюра від Сузі), а все інше - доки й описи конкретних модулів.
Мені основ думаю з кодакадемі хватило. Але хочеться чогось більшого. Синтаксис і простота дуже сподобались
Learn Python The Hard Way - казали що непогана книженція.
Learn Python The Hard Way - казали що непогана книженція.
30$ я знаходив курс .
yellow написав:Learn Python The Hard Way - казали що непогана книженція.
30$ я знаходив курс .
Я мав на увазі книгу.
Blast написав:yellow написав:Learn Python The Hard Way - казали що непогана книженція.
30$ я знаходив курс .
Я мав на увазі книгу.
Тільки англомовна ?
Тільки англомовна ?
Так.Принаймі я собі знайшов англомовну.Не знаю на рахунок існування інших.
Люди, а що я роблю не так в цьому вашому пітоні?
http://ideone.com/aghGXC
Чому відповіді різні?
Люди, а що я роблю не так в цьому вашому пітоні?
http://ideone.com/aghGXC
Чому відповіді різні?
вхаха хД погано складене рівняння в мене також виходило .
33165
eukreign: 0.0003619194030761719 seconds
33165
Blast: 0.00030303001403808594 seconds
233168
Koala: 1.3113021850585938e-05 seconds
У вас, до речі, неправильна умова - на Ейлері в умові "менші" (below), а не "не більші" за 1000. Виправив на 10 (приклад з Ейлера) - у вас чомусь там нулі. О_о?
Для відправлення відповіді ви повинні увійти або зареєструватися