Видимым парадом планет называется планетная конфигурация, когда пять ярких планет Солнечной системы (Меркурий, Венера, Марс, Юпитер и Сатурн) в своём движении по небосводу подходят друг к другу на близкое расстояние и становятся видны в одно время в небольшом секторе (10 — 40 градусов) неба.
from itertools import count
n = 12 # число секторов, мы же взяли сектор в 30°
year = 365.256363004
periods = (
87.969, # Меркурий
224.698, # Венера
686.98, # Марс
4332.589, # Юпитер
10759.22 # Сатурн
)
speeds = [n / p for p in periods] # угловые скорости планет, сектор/день
for t in count(40): # стартанём не сразу, а погодя, чтобы планеты разошлись,
# за 40 дней меркурий убежит почти на 180°
mercury, *others = (int(t * speed) % n for speed in speeds)
if all(planet == mercury for planet in others):
y = int(t / year)
print(f'{y} лет {round(t - y * year)} дней')
break
Выхлоп - 377 лет 212 дней.Парадом планет называется также конфигурация планет Солнечной системы, когда планеты, в том числе и невидимые невооружённым глазом, «выстраиваются» по одну сторону от Солнца в небольшом секторе. В такой конфигурации Меркурий и Венера могут быть невидимы с Земли, так как находятся в нижнем соединении с Солнцем, но зато внешние планеты видимы, практически, в одном направлении. Ближайший прошедший такой парад был 10 марта 1982 года, а следующий будет в 2161 году.
n = 360. # просто 360°
occupied = 45. # размер сектора, в который должны впихнуться планеты
year = 365.256363004
periods = (
87.969, # Меркурий
224.698, # Венера
year, # Земля
686.98, # Марс
4332.589, # Юпитер
10759.22, # Сатурн
60190.03, # Нептун
# 90553.02 # Плутон # всё равно он не планета
)
speeds = [n / p for p in periods] # угловые скорости планет
t = t0 = 0 # текущая дата, дата 'нулевого' парада
for _ in range(32): # число выводимых парадов
while True:
t += 1
if t - t0 < 43:
continue # пусть планеты разойдутся, за 43 дня меркурий убежит на 180°
def width():
planets = sorted((t * speed) % n for speed in speeds)
a, max_free_angle = planets[-1] - n, 0.
for b in planets:
if max_free_angle < b - a:
max_free_angle = b - a
a = b
return 360. - max_free_angle
if width() < occupied: # подкараулим день, когда сектор будет минимальным
u = v = width()
while u >= v:
t += 1
u, v = v, width()
print(f'через {round((t - t0 - 1) / year):>4} лет '
f'планеты соберутся в секторе {round(u)}°')
t0 = t - 1
break
const factorial = (n) => {
return (n === 0) ? 1 : n * factorial(n-1);
}
const factorial = (n) => {
const iter = (counter, acc) => {
return (counter === 0) ? acc : iter(counter - 1, counter * acc);
}
return iter (n, 1);
}
1) Могу ли я скачать с интернета файл приложения версии 1, удалить с с iphone и itunes приложение версии 2, закинуть в папку itunes файл приложения 1 и таким образом установить приложение версии 1 на iphone?
2) Как вообще можно установить более старую версию приложения с учетом того что ты его уже покупал?
Ссылки кидаю на SHelfari, там есть подробное описание книги, возможность покупки на Amazon, а также вы можете создать свою полку с книгами для чтения.
Варианты книг привожу в оригинале, так как они обычно более адекватны и материал более свежий. Думаю не составит труда найти их переводы на русский язык.
1. Рекомендую начать с этого.
http://www.shelfari.com/books/36153187/iOS-Programming-The-Big-Nerd-Ranch-Guide-(4th-
Много примеров, общая теория. Доступно и понятно.
2. http://www.shelfari.com/books/36386978/Programming-iOS-5-Fundamentals-of-iPhone-
Очень качественная книга с подробным описанием теоретических аспектов. Практики в ней маловато, зато разложите свои знания по полочкам. Есть версия по iOS 6, в декабре выходит версия по iOS 7.
3. Классная книга по программированию для нескольких потоков и управлению памятью.
http://www.shelfari.com/books/25895332/Pro-Multithreading-and-Memory-Management-for-
4. Две книги с готовыми рецептами для iOS. Рассматриваются определенные задачи и даются их решения.
http://www.shelfari.com/books/27011451/The-iOS-5-Developers-Cookbook
http://www.shelfari.com/books/33213224/iOS-6-Recipes-A-Problem-Solution-Approach
5. Подробное описание по работе с Core Data. Обертка для работы с базами данных под iOS.
http://www.shelfari.com/books/25871163/Pro-Core-Data-for-iOS
Также рекомендую обратить ваше внимание на видео лекции по iOS программированию.
http://itunes.stanford.edu/ Лекции ведет Paul Hegarty.