# Draw a circle without floating point arithmetic

Given a radius of a circle, draw the circle without using floating point arithmetic.

Following program uses a simple concept. Let the radius of the circle be r. Consider a square of size (2r+1)*(2r+1) around the circle to be drawn. Now walk through every point inside the square. For every every point (x,y), if (x, y) lies inside the circle (or x^2+ y^2 < r^2), then print it, otherwise print space.

## C++

 `// C++ code to demonstrate to draw ` `// circle without floating  ` `// point arithmetic ` `#include ` ` `  `void` `drawCircle(``int` `r) ` `{ ` `    ``// Consider a rectangle of size N*N ` `    ``int` `N = 2*r+1; ` ` `  `    ``int` `x, y;  ``// Coordinates inside the rectangle ` ` `  `    ``// Draw a square of size N*N. ` `    ``for` `(``int` `i = 0; i < N; i++) ` `    ``{ ` `        ``for` `(``int` `j = 0; j < N; j++) ` `        ``{ ` `            ``// Start from the left most corner point ` `            ``x = i-r; ` `            ``y = j-r; ` ` `  `            ``// If this point is inside the circle, print it ` `            ``if` `(x*x + y*y <= r*r+1 ) ` `                ``printf``(``"."``); ` `            ``else` `// If outside the circle, print space ` `                ``printf``(``" "``); ` `            ``printf``(``" "``); ` `        ``} ` `        ``printf``(````" "````); ` `    ``} ` `} ` ` `  `// Driver Program to test above function ` `int`  `main() ` `{ ` `    ``drawCircle(8); ` `    ``return` `0; ` `} `

## Java

 `// Java code to demonstrate to draw ` `// circle without floating  ` `// point arithmetic ` ` `  `class` `GFG ` `{ ` `static` `void` `drawCircle(``int` `r) ` `{ ` `    ``// Consider a rectangle of size N*N ` `    ``int` `N = ``2``*r+``1``; ` ` `  `    ``int` `x, y; ``// Coordinates inside the rectangle ` ` `  `    ``// Draw a square of size N*N. ` `    ``for` `(``int` `i = ``0``; i < N; i++) ` `    ``{ ` `        ``for` `(``int` `j = ``0``; j < N; j++) ` `        ``{ ` `            ``// Start from the left most corner point ` `            ``x = i-r; ` `            ``y = j-r; ` ` `  `            ``// If this point is inside the circle, print it ` `            ``if` `(x*x + y*y <= r*r+``1` `) ` `                ``System.out.print(``"."``); ` `            ``else`  `                ``// If outside the circle, print space ` `                ``System.out.print(``" "``); ` ` `  `            ``System.out.print(``" "``); ` `        ``} ` ` `  `        ``System.out.println(); ` `    ``} ` `} ` ` `  `// Driver Program to test above function ` `public` `static` `void` `main(String arg[]) ` `{ ` `    ``drawCircle(``8``); ` `} ` `} ` ` `  `// This code is contributed ` `// by Anant Agarwal. `

## Python3

# Python3 code to demonstrate to draw
# circle without floating
# point arithmetic

def drawCircle(r):

# Consider a rectangle of size N*N
N = 2 * r + 1

br>

# Draw a square of size N*N.
for i in range(N):
for j in range(N):

# Start from the left most corner point
x = i – r
y = j – r

# If this point is inside the circle,
# print it
if x * x + y * y <= r * r + 1: print(".", end = " ") # If outside the circle, print space else: print(" ", end = " ") print() # Driver Code if __name__ == "__main__": drawCircle(8) # This code is contributed # by vibhu4agarwal [tabby title="C#"]

 `// C# code to demonstrate to draw  ` `// circle without floating  ` `// point arithmetic  ` `using` `System; ` ` `  `public` `class` `GFG{ ` `    ``static` `void` `drawCircle(``int` `r)  ` `{  ` `    ``// Consider a rectangle of size N*N  ` `    ``int` `N = 2*r+1;  ` ` `  `    ``int` `x, y; ``// Coordinates inside the rectangle  ` ` `  `    ``// Draw a square of size N*N.  ` `    ``for` `(``int` `i = 0; i < N; i++)  ` `    ``{  ` `        ``for` `(``int` `j = 0; j < N; j++)  ` `        ``{  ` `            ``// Start from the left most corner point  ` `            ``x = i-r;  ` `            ``y = j-r;  ` ` `  `            ``// If this point is inside the circle, print it  ` `            ``if` `(x*x + y*y <= r*r+1 )  ` `                ``Console.Write(``"."``);  ` `            ``else` `                ``// If outside the circle, print space  ` `                ``Console.Write(``" "``);  ` ` `  `            ``Console.Write(``" "``);  ` `        ``}  ` ` `  `        ``Console.WriteLine();  ` `    ``}  ` `}  ` ` `  `// Driver Program to test above function ` `    ``static` `public` `void` `Main (){ ` `        ``drawCircle(8);  ` `     `  `      `  `    ``} ` `// This code is contributed  ` `// by ajit.  ` `} `

## PHP

 ` `

Output:

Articles