vendredi 8 juillet 2011

Крепостное право

Удобная штука. Вот, например, академики А, Б и В решили подарить академику Г iPad. Поскольку не барское это дело, регистрировать iPad, устанавливать туда какой-то софт, кому-то из академиков А, Б и В нужно идти к секретарю, просить её (его) сделать это прежде, чем дарить iPad. Секретарю приходится искать кого-то из относительно молодых людей в окружении, кто мог бы сделать нехитрые манипуляции. После подарка академику Г приходится таки осваиваться с подарком.

А вот были бы у академиков А, Б и В крепостные. Можно было бы подарить iPad со специально обученным мальчиком (или девочкой). И никому бы не пришлось никого искать, договариваться о настройке и установке. Да и звучало бы солидней, вечером, сидя за письменным столом, академики А, Б и В могли бы записать в дневник: “Сегодня подарили Г iPad с холопом. Дождит.”

dimanche 3 juillet 2011

Euler #112

#!/usr/bin/python
n = 1
b = 0
def is_bouncy(n):
if len(str(n)) <= 2:
return False
l = map(int, str(n))
inc = all(x <= y for x, y in zip(l, l[1:]))
dec = all(x >= y for x, y in zip(l, l[1:]))
return (not inc) and (not dec)
while True:
if is_bouncy(n):
b += 1
if b*100 == 99*n:
print n
break
n += 1
view raw 112.py hosted with ❤ by GitHub

vendredi 1 juillet 2011

Euler #73

#!/usr/bin/env python
from fractions import gcd
s = 4
e = 12001
nf = 0
for d in xrange(s, e):
for n in xrange(d/3 - 1, d/2 + 1):
if d < 3*n and 2*n < d:
if gcd(n, d) == 1:
nf += 1
print(nf)
view raw 73.py hosted with ❤ by GitHub

Euler #71

#!/usr/bin/env python

from fractions import gcd

N = 1000000

for d in xrange(2, N):
    for n in xrange(3*d/7+1, 1, -1):
        if n*7 < 3*d:
            if gcd(n,d) == 1:
                res = (n, d)
                break;

print(res)