Source ¶
#include <IOStream> #include <cmath> using namespace std; int main() { int getNum = -1; int getBinary[21]; int min = 0; int output = 0; while(getNum != 0) { cin >> getNum; for(int i = 0; i < 21; i++) { getBinary[i] = 0; } if((getNum > 0) && (getNum <= 1000000)) { for(int i = 0; i < 21; i++) { getBinary[i] = getNum % 2; getNum /= 2; cout << getBinary[i]; } cout << endl; getNum = 1; for(int i = 0; i < 21; i++) { if(getBinary[i] == 1) { if(getBinary[i + 1] == 0) { getBinary[i + 1] = 1; getBinary[i] = 0; i++; }else{ getBinary[i] = 0; getBinary[min++] = 1; } } cout << getBinary[i]; output += (int)(getBinary[i] * pow(2.0, i)); } cout << endl << output << endl; }else if(getNum == 0){ break; }else{ cout << "잘못된 입력입니다." << endl; break; } } return 0; }
* 그냥 아무 생각 없이 하다가 망쳤네요 -_-;; 어디선가 꼬여버렸고 ㄷㄷㄷ 아놔 - 권순의