먼저 오프 - 5의 반경이 60 × 1 사각형이 아닌 52 일 누군가가 포인트 {[(3)을 계산하지 않은 것이 나의 내기에 맞는와 원, 4], [3, -4], [4,3], [4,3], [-4,3], [ 4]} 종이에 그려서 손으로 세는 경우, 그들이 원 위에 있든 아니면 바깥에 있는지 확실하지 않습니다. 그들은 정확하게 원에 있습니다.
두 번째 - MBo의 대답이 나를 데려왔다. 가끔 Gauss Circle Problem 용 StackOverflow를 검색하여 누군가 새로운 재미있는 알고리즘을 제안했는지 확인한다. -
셋째 여기에 코드입니다 :
int allSquares=0,
squaredRadius=radius*radius,
sideOfQuarterOfInscribedSquare=(int)(long)(radius/sqrt(2));
for(int x=sideOfQuarterOfInscribedSquare+1;
x<radius;
x++){
allSquares+=(long)sqrt(squaredRadius-x*x);
}
allSquares= allSquares*8+4*sideOfQuarterOfInscribedSquare*sideOfQuarterOfInscribedSquare;
return allSquares;
무엇 그냥 새겨진 사각형 외부 원의 1/8 내부의 사각형을 계산한다 않습니다. 내 hipster 서식 및 지나치게 자세한 변수 이름을 유감스럽게 생각합니다.
예제가 잘못되었습니다. 예를 들어 파란색 원 안에 보면 파란색 원 안에 들어있는 정사각형 (녹색 직사각형으로 채워진 사각형의 약 2 분의 1)이 있습니다. – CoryKramer
당신이 안으로 말할 때, 당신은 사각형이 완전히 또는 부분적으로 존재하기를 원하십니까? – corsiKa
@Cyber 더 정확한 그림을 준비 중입니다. 전체 사각형은 원 안에 표시되어야합니다. – YogoWafel