Nie widzę nigdzie dyskusji o tym zadaniu więc otwieram temat.
Mój kod : http://ideone.com/E9hRBb51
Prawdopodobnie zwraca dobry wynik ale jest za wolny, po początkowym pomyśle który dla maksymalnego promienia z zadania 36963 wyznaczał wynik ( 4292242973 - czy jest prawidłowy nie wiem bo przekraczam limit czasu ) w około 160 sekund teraz wyznacza wynik w około 60 sekund co jest wraz o wiele za wolno.
..................
Program oblicza ilość punktów dla 1/4 koła i bez punktu 0,0, a potem mnożę wynik *4 i dodaje 1 czyli punkt 0,0.
Dodatkowo gdy współrzędne odległości są w sumie mniejsze niż promień dodaje punkt automatycznie bez obliczeń żeby przyśpieszyć działanie programu. Automatycznie tez nie liczę dystansu od środka koła jeśli punkt liczony poprzednio w tej samej płaszczyźnie tylko mniejszy o 1 już był poza kołem.
............
Mimo zastosowania tych wszystkich pomysłów mój program jest nadal tysiące razy za wolny w stosunku do wymagań autora zadania i sądzę że zapewne trzeba użyć jakiegoś wzoru z użyciem Pi lub obliczania stopni kątów itp.
Jako że szkołę kończyłem wieki temu i mało już z niej pamiętam chciałbym poprosić Was o podpowiedź jak należy wykonać to zadanie. Może być link to potrzebnego wzoru / opisu algorytmu bez dokładnych wyjaśnień gdyż zależy mi żeby się uczyć a nie iść na łatwiznę.
created
last reply
- 3
replies
- 860
views
- 3
users
- 1
like
- 6
links