给定圆的半径,不使用浮点算法绘制圆。 下面的程序使用了一个简单的概念。让圆的半径为R。考虑圆的大小(2R+1)*(2R+1)在画圆的周围。现在穿过广场内的每一点。对于每个点(x,y),如果(x,y)位于圆内(或x^2+y^2
null
C++
// C++ code to demonstrate to draw // circle without floating // point arithmetic #include <stdio.h> 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 # 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 |
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
<?php // PHP code to demonstrate to draw circle // without floating point arithmetic function drawCircle( $r ) { // Consider a rectangle of size N*N $N = 2 * $r + 1; $y ; // Coordinates inside the rectangle // Draw a square of size N*N. for ( $i = 0; $i < $N ; $i ++) { for ( $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) echo ( "." ); else // If outside the circle, // print space echo ( " " ); echo ( " " ); } echo "" ; } } // Driver Code drawCircle(8); // This code is contributed by akt_mit ?> |
Javascript
<script> function drawCircle(r) { // Consider a rectangle of size N*N let N = 2*r+1; let x, y; // Coordinates inside the rectangle // Draw a square of size N*N. for (let i = 0; i < N; i++) { for (let 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 ) document.write( "." ); else // If outside the circle, print space document.write( "  " ); document.write( "  " ); } document.write( "<br>" ); } } drawCircle(8); // This code is contributed by avanitrachhadiya2155 </script> |
输出:
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END