Cześć. Muszę zrobić to zadanie a nie mam pojęcia jak się za to zabrać. Punkt kratowy to punkt, którego współrzędne w układzie kartezjańskim są liczbami całkowitymi. Dane jest koło
o środku w początku układu współrzędnych i promieniu r. Znajdź wszystkie punkty kratowe leżące wewnątrz
takiego koła.
- Rejestracja:ponad 4 lata
- Ostatnio:ponad 4 lata
- Postów:2
0
edytowany 1x, ostatnio: szybki12111
- Rejestracja:prawie 7 lat
- Ostatnio:około miesiąc
- Postów:3561
1
Brutal force:
Dwie pętle po x,y od math.ceil (-r) do math.floor(+r) i sprawdzasz pitagorasem
edytowany 3x, ostatnio: AnyKtokolwiek
- Rejestracja:ponad 4 lata
- Ostatnio:ponad 4 lata
- Postów:2
0
Napisałem coś takiego i jak mogę to przerobić?
def N(r):
ilosc = 0
for x in range(0,r):
for y in range(1,r+1):
if (x*x + y*y) <= r*r:
ilosc = ilosc + 1
ilosc = ilosc * 4 + 1
return ilosc
print("Podaj promien r")
r = float(input())
print(N(r))

Tasmanian Devil
Hej! Twój post prawdopodobnie zawiera niesformatowany kod. Użyj znaczników ``` aby oznaczyć, co jest kodem, będzie łatwiej czytać. (jestem botem, ta akcja została wykonana automatycznie, prawdopodobieństwo 0.99982166)
- Rejestracja:prawie 7 lat
- Ostatnio:około miesiąc
- Postów:3561
2
- Dlaczego odmiennie masz pętlę po X a po Y?
- "znajdź wszystkie punkty" rozumiem nie podać ilość, tylko je wylistować
- Podoba mi się, że nie robisz roboty w mainie, tylko w funkcji
Ja rozumiem, użyć pustej listylist = [ ]
i w ifie dołączać przezappend()
- tę listę potem return
Gotowca ci nie dam, masz pełne wskazówki.
edytowany 4x, ostatnio: AnyKtokolwiek

- Rejestracja:około 8 lat
- Ostatnio:2 minuty
- Postów:4936
0
Zacznij od Wiki
https://en.m.wikipedia.org/wiki/Gauss_circle_problem
@szybki12111: Naiwnie Ci podał @AnyKtokolwiek, wychodzi z tego taki, paskudny kod:
def N(r):
cnt = 0
for x in range(int(math.ceil(-r)), int(math.floor(r)) + 1):
for y in range(int(math.ceil(-r)), int(math.floor(r)) + 1):
if x * x + y * y <= r * r:
cnt += 1
return cnt
Optymalizować można, szukanie dzielników, faktoryzacja...
edytowany 2x, ostatnio: lion137
Wyczytujesz w zadaniu, ze chodzi o ilość? Ja sądzę inaczej

Nie, ale w kolejnym objaśnił.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.