Ответы:
а компенсация , за первое будет ?
var n: longint;
begin
readln(n);
writeln(2 * n - trunc(sqrt(8 * n) + 1) / 2);
end.
блин задал задачу примерно так но еще пока не работает :(((
Артёмка, ты гений как ты до этого додумался ?
Вот так правильно.
var n: longint;
begin
readln(n);
writeln(2 * n - trunc(sqrt(8 * n - 7) + 1) / 2);
end.
подождите не закрывайте, я свой вариант сделаю!!!
// ну вот покушал нейронов в голове прибавилось ошибка была с else :)
// все работает можете тестировать
Общем у меня смысл такой из ряда делаем дифференциал
то есть вместо 1,2,4,5,7,9,10,12,14,16,.
представляем его в виде дифференциала
1,2,1,2,2,1,2,2,2,1,2,2,2,2,1,2,2,2,2,2
и тогда все становится легко и понятно...
> здесь погрешность есть-при вводе 10 выводит 15.5
Извини, криво написал, а проверить возможности нет. Вот так должно быть.
2 * n - trunc((sqrt(8 * n - 7) + 1) / 2)
Артёмка, у вас нужно 0.5 добавить, потом округлять, ну все равно круто, правда! преклоняюсь перед великим математиком!!!
на 10000 тоже ошибка 19858,5 должно быть 19859... и еще встречается...
даже математика без 0.5 не работает :))
one, если тебе нравится решать подобные задачи, загляни на
http://acm.timus.ru. Там, правда, большинство задач на английском языке, но есть и на русском.
Дополнение #5 какая разница ? конечно под делфи
сейчас сделаю под голый паскаль
только комментарии убери борланд паскаль не понимает "//"
(* Release :)
все проверил, на BP7 - работает,
только там integer маленький... 16бит...
*)
Дополнение #7 их всего 10....
if Артёмка не обидится then отдай ему :)
у него подход более фундаментальный!
Дополнение #8
ты на этот счет не беспокойся :)
я тоже не совсем понимаю твоей программы...
и совсем не понимаю с Артемкиными рядами...
работает да и ладно...
я сам когда начал писать думал по одному, вышло по другому...
а Артемка предложил третье...
тебе оно зачем для самообразования ? или преподам объяснять ?
(* И вот еще для красоты чтоб все переменные начинались с 0 !
*)
> как я всё это буду осознавать?
Попробуй сам найти в этой последовательности закономерности, когда почувствуешь, что начал понимать её, всё станет совсем просто. Кстати, решения подобных задач не зависят от того, на каком языке ты хочешь их запрограммировать.
Nxaj, могу тебя обрадовать не такая уж она простая, как кажется на первый взгляд...
повседневные задачи куда проще, там просто больше рутины, а такого рода головоломки встречаются крайне редко...
Дополнение #10
я то думал ты хочешь дискуссию продолжить :))
ну все равно спасибо!
one,
10 класс однако.
Как я в ВУЗ поступать буду?
осознание по моему опыту придет из анализа проги, можно обойтись без теории и всё понять на практике
Nxaj, ты лучше попроси Артёмку чтоб он еще какой либо фокус показал!
если так дело пойдет скоро операционная система будет умещаться в одну строку...
one,
2-я задача ещё не решена......
так что переносим все наши разговоры
Артёмка , признавайтесь кто Вы ??? :))
изобретатель симметричной криптографии ?
или работаете предсказателем курса валют ?
или метеорологический прогноз ?
///
а если серьезно что вы думаете о простых числах ?
их закономерность наука нашла или еще нет ?
16 лет назад