1

Тема: Проект Ейлера розв’язання задач на пітоні .

Думаю почати розв’язувати завдання Ейлера якими не давно зі мною поділивс yellow
Тому за естетичніші варіанти розв’язання буду тільки вдячний .

Задача 1
y  = range(1,1001)
def oneeul(a):
    total = 0 
    for i in a:
        if i%3 ==0 and i%5 ==0:
            total += i
        else :
            total = total 
    return total 
 
print oneeul(y)

2

Re: Проект Ейлера розв’язання задач на пітоні .

y  = range(1,1001)
print sum([i for i in y if i%3+i%5==0])

3

Re: Проект Ейлера розв’язання задач на пітоні .

eukreign написав:
y  = range(1,1001)
print sum([i for i in y if i%3+i%5==0])

Давно з пайтоном знайомі ?
Варто починати з Лутца ?

4

Re: Проект Ейлера розв’язання задач на пітоні .

Я з вами точно Python вивчу...

sum3  = (  3 + 999 ) * ( 999 /  3 ) / 2
sum5  = (  5 + 995 ) * ( 995 /  5 ) / 2
sum15 = ( 15 + 990 ) * ( 990 / 15 ) / 2
print ( sum3 + sum5 - sum15 )

5

Re: Проект Ейлера розв’язання задач на пітоні .

eukreign написав:
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)

6 Востаннє редагувалося Singularity (13.07.2014 22:58:30)

Re: Проект Ейлера розв’язання задач на пітоні .

дел

7 Востаннє редагувалося Blast (13.07.2014 22:58:32)

Re: Проект Ейлера розв’язання задач на пітоні .

koala написав:

Я з вами точно 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.

8 Востаннє редагувалося koala (14.07.2014 11:02:04)

Re: Проект Ейлера розв’язання задач на пітоні .

Будь ласка, із довільними дільниками. Звісно, все можна втягнути в одну формулу.

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 ) )

Для довільного числа дільників теж можна, але треба вже ретельно вчити мову - там треба додавати суми по простих множниках, віднімати суми всіх попарних комбінацій, додавати суми всіх потрійних комбінацій і т.д., знак залежить від парності кількості комбінацій

9

Re: Проект Ейлера розв’язання задач на пітоні .

Blast написав:

Давно з пайтоном знайомі ?

15 років

Blast написав:

Варто починати з Лутца ?

Лутц?

10

Re: Проект Ейлера розв’язання задач на пітоні .

eukreign написав:
Blast написав:

Давно з пайтоном знайомі ?

15 років

Blast написав:

Варто починати з Лутца ?

Лутц?

Марк Лутц "Вивчаєм пайтон" "Програмуєм на пайтон" 4-е видання

11

Re: Проект Ейлера розв’язання задач на пітоні .

Blast написав:

Марк Лутц "Вивчаєм пайтон" "Програмуєм на пайтон" 4-е видання

Лутц тяготомотний, імго. Для схоплення основ мені вистачило ван Россума (і ще якась мініатюра від Сузі), а все інше - доки й описи конкретних модулів. :)

12

Re: Проект Ейлера розв’язання задач на пітоні .

Мені основ думаю з кодакадемі хватило. Але хочеться чогось більшого. Синтаксис і простота дуже сподобались

13

Re: Проект Ейлера розв’язання задач на пітоні .

Learn Python The Hard Way    -    казали що непогана книженція.

14

Re: Проект Ейлера розв’язання задач на пітоні .

yellow написав:

Learn Python The Hard Way    -    казали що непогана книженція.

30$ я знаходив курс .

15

Re: Проект Ейлера розв’язання задач на пітоні .

Blast написав:
yellow написав:

Learn Python The Hard Way    -    казали що непогана книженція.

30$ я знаходив курс .

Я мав на увазі книгу.

16

Re: Проект Ейлера розв’язання задач на пітоні .

yellow написав:
Blast написав:
yellow написав:

Learn Python The Hard Way    -    казали що непогана книженція.

30$ я знаходив курс .

Я мав на увазі книгу.

Тільки англомовна ?

17

Re: Проект Ейлера розв’язання задач на пітоні .

Blast написав:

Тільки англомовна ?

Так.Принаймі я собі знайшов англомовну.Не знаю на рахунок існування інших.

18

Re: Проект Ейлера розв’язання задач на пітоні .

Люди, а що я роблю не так в цьому вашому пітоні?
http://ideone.com/aghGXC
Чому відповіді різні?

19 Востаннє редагувалося Blast (14.07.2014 14:43:14)

Re: Проект Ейлера розв’язання задач на пітоні .

koala написав:

Люди, а що я роблю не так в цьому вашому пітоні?
http://ideone.com/aghGXC
Чому відповіді різні?

вхаха хД погано складене рівняння в мене також виходило .

33165
eukreign: 0.0003619194030761719 seconds
33165
Blast: 0.00030303001403808594 seconds
233168
Koala: 1.3113021850585938e-05 seconds

20

Re: Проект Ейлера розв’язання задач на пітоні .

У вас, до речі, неправильна умова - на Ейлері в умові "менші" (below), а не "не більші" за 1000. Виправив на 10 (приклад з Ейлера) - у вас чомусь там нулі. О_о?