두 개의 실수를 입력받아 각각의 제곱근을 구하고 두 제곱근 사이에 존재하는 정수의 개수를 출력하는 프로그램을 작성하시오. 
단, 입력받는 두 실수는 양수이며 두 제곱근 사이라는 말은 두 제곱근을 포함한다.







12.0 34.789
2



두 수의 제곱근을 구하여 정수로 형변환을 한 후 생각해보자. 
두 수 사이의 수들은 모두 포함이 되면 작은 수의 경우 변환하기 전 원래의 제곱근과 같다면 개수에 포함을 시켜야 한다. 
큰 수는 원래의 수보다 작거나 같으므로 무조건 포함이 된다.


[코드]


#include <stdio.h>

#include <math.h>


int func(double a, double b) {


double temp;

int num = 0;


if (a > b) {

temp = a;

a = b;

b = temp;

}


if ((int)sqrt(a) == sqrt(a))

a = sqrt(a) - 1;

else

a = sqrt(a);

b = (int)(sqrt(b));


for (; a < b; a++)

num++;


return num;

}


int main() {


double a, b;

int num;


scanf("%lf %lf", &a, &b);

num = func(a, b);

printf("%d", num);


return 0;

}

'코딩 > Language Coder' 카테고리의 다른 글

178 : 함수2 - 형성평가4  (0) 2019.01.03
177 : 함수2 - 형성평가3  (0) 2018.12.30
175 : 함수2 - 형성평가1  (0) 2018.12.28
586 : 함수2 - 자가진단8  (0) 2018.12.28
585 : 함수2 - 자가진단7  (0) 2018.12.27

+ Recent posts