Witam. Mam do rozwiązania takie zadanie:
"Punkt kratowy, to punkty należący do układu kartezjańskiego, którego
współrzędne są liczbami całkowitymi [np. (0, 0),(1, 0),(2, 1) itd.] Rozważ-
my koło o środku w początku układu współrzędnych i promieniu r. Niech
N(r) oznacza liczbę punktów kratowych znajdujących się w środku koła.
Napisz funkcję która dla zadanego r > 0 zwraca wartość N(r). Podaj ile
wynosi N(1), N(2.5), N(10)."
Udało mi się napisać taki program:
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 = int(input())
print(N(r))
Niestety nie jestem pewny jak zrobić żeby działało to też dla liczb typu float, ponieważ muszę sprawdzić też N(2.5).