정수 제곱근을 구하는 방법은 여러가지가 있겠지만 <math.h>에 있는 pow를 이용하였다.
pow(x,2)는 x의 2승을 구한다는 것이다.
다음은 문자열로 2진수를 입력 받고 각 문자를 숫자로 변환 후 10진수로 바꾸어 준다.
전역변수 sum에 합을 더하는 방법으로 작성하였다.
#include<iostream>
#include<cstring>
#include<math.h>
using namespace std;
int sum;
int main()
{
char buf[31];
int cnt = 0;
gets(buf);
int len = strlen(buf);
for (int i = len - 1; i >= 0; i--)
{
sum += (buf[i] - '0')*pow(2, cnt);
cnt++;
}
cout << sum << endl;
return 0;
}
댓글