Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

N번째 접기 후 정사각형 영역에 대한 C++ 프로그램

<시간/>

정사각형의 한 변과 접은 횟수가 주어지면 접힌 횟수 다음에 정사각형의 넓이를 구해야 합니다.

정사각형은 모든 변이 동일한 직사각형과 같은 2차원 모양입니다. 그리고 모든 각도가 90도입니다.

정사각형을 접는 동안 우리는 -

  • 삼각형의 왼쪽 상단에서 오른쪽 하단까지 정사각형을 접어 삼각형을 만듭니다.

  • 두 번째 접기는 위에서 아래로 접힙니다.

  • 세 번째 접기는 다시 왼쪽에서 오른쪽으로 접습니다.

마찬가지로 위의 단계를 따릅니다.

예시

Input: side = 23, fold = 4
Output: area of square after n folds is : 6.53086

이 문제를 해결하기 위해 다음 접근 방식을 따를 수 있습니다 -

  • 먼저 정사각형을 접기 전에 정사각형의 넓이를 구해야 합니다.
  • 접을 때마다 정사각형 면적의 절반이 되어야 합니다. Area =Area/2.
  • 마지막으로 정사각형의 면적을 pow(2, fold)로 나눕니다.

알고리즘

START
   In function double area_nfold(double side, double fold)
   Step 1-> Decalre and initialize area = side * side
   Step 2-> Return (area * 1.0 / pow(3, fold))
   In int main()
   Step 1 -> Decalre and initialize double side = 23, fold = 4
   Step 2 -> Call function area_nfold(side, fold) and print the results
STOP

예시

#include <bits/stdc++.h>
using namespace std;
//function to calculate area of square after n folds
double area_nfold(double side, double fold){
   double area = side * side;
   return area * 1.0 / pow(3, fold);
}
int main(){
   double side = 23, fold = 4;
   cout <<"area of square after n folds is :"<<area_nfold(side, fold);
   return 0;
}

출력

area of square after n folds is :6.53086