1. xy 구하기

23 , 3 4 ...등의 거듭제곱 값은 pow 함수로 구할 수 있습니다.

다음은 pow 관련 함수의 메뉴얼 입니다.

pow , powf ,powl 함수를 사용하기 위해서는 math.h 를 포함시켜야 하고 함수의 원형(prototype)이 주어져 있습니다.

이 중 pow 함수의 원형을 설명하면 ,

인자로 주는 두 수는 double 형이어야 합니다. 만약 정수 값으로 인자로 줄 경우에는 cast 연산자를 사용하여 형 변환을 해 주는 것이 안전한 사용 법 입니다.
pow((double)a,(double)b); //a,b 가 정수형 변수 일 때
구한 값을 출력하거나 변수로 받을 때 정수 값(변수)으로 돌려 받기 위해서는 마찬가지로 형 변환을 해 주고 , 실수(double 형)으로 받을 때 는 그대로 사용하면 됩니다.
#include <stdio.h>
#include <math.h>

int main()
{
   int x,y;

   x=2;
   y=3;
   printf("%d\n",(int)pow(double(x),double(y))); // 2^3

   x=3;
   y=4;
   printf("%d\n",(int)pow(double(x),double(y))); //3^4

   x=2;
   printf("%.3lf\n",pow(double(x),0.5)); //√2 를 소수 세자리  
}

2. sqrt(x)

방정식 x*x = 4 을 근은 x = 2 혹은 x = -2 입니다.

를 만족하는 근을 특별히 거듭제곱 근이라 한다. 거듭 제곱근에는 양의 제곱근,음의 제곱근이 있습니다. 이 경우 x =2 가 양의 거듭제곱근이고 , x=-2 가 음의 거듭 제곱근입니다. 가 되는 x 는 x= 2 혹은 x= -2 입니다.

이 때 x 가 양수인 2 를 √4 라고 합니다.

√4 = 2
몇 가지 √ 값을 보면
   √1 = 1
   √4 = 2
   √9 = 3
   √16 = 4
   ...
   
√3 은 얼마일까요? 대충 1.xxxx 가 되리라는 것은 추측 할 수 있습니다.

   #include <stdio.h>
   #include <math.h>

   int main()
   {
      double a;

      a =3.0;
      printf("%lf",sqrt(a));
   }
   
정수 값을 대입 후 정수 값으로 출력하기 위해서는 sqrt 함수는 받는 값이 double , 돌려 주는 값도 double 형이라 다음과 같이 cast 연산자를 사용하면 됩니다.
   #include <stdio.h>
   #include <math.h>

   int main()
   {
      int a;

      a =4;
      printf("%d",(int)sqrt((double)a));
   }
   

3. floor(x)

그림과 같이 경사진 곳에 구슬을 둔다고 생각합니다.

이 함수를 gauss 함수라고 하고 , 기호 혹은 [x] 로 표현 합니다.

는 x 보다 크지 않는 최대 정수입니다. "x 보다 크지 않다"입니다. 같아도 상관 없습니다.

#include <stdio.h>
#include <math.h>

int main()
{
   printf("%lf\n",floor(2.3));
   printf("%lf\n",floor(2.8));
   printf("%lf\n",floor(2.0));
   printf("%lf\n",floor(-2.3));
   printf("%lf\n",floor(-2.8));
   printf("%lf\n",floor(-2.0));
}

4. ceil(x)

그림과 같이 경사진 곳에 구슬을 둔다고 생각합니다.

는 x 보다 작지 않는 최소 정수입니다. "x 보다 작지 않다"입니다. 같아도 상관 없습니다.

#include <stdio.h>
#include <math.h>

int main()
{
   printf("%lf\n",ceil(2.3));
   printf("%lf\n",ceil(2.8));
   printf("%lf\n",ceil(2.0));
   printf("%lf\n",ceil(-2.3));
   printf("%lf\n",ceil(-2.8));
   printf("%lf\n",ceil(-2.0));
}
출처:dovelet

[질/답]
[홈으로]  [뒤 로]
[푼 후(0)]