1212
2021 ワード
質問する
8進法を入力する場合は、バイナリに変換するプログラムを作成します.
入力
最初の行は8進数を与えます.与えられた数字の長さは333334を超えない.
しゅつりょく
1行目に与えられた数字を2進数出力に変換します.数がゼロでない限り、1で始まる必要があります.
例
入力
最初の行は8進数を与えます.与えられた数字の長さは333334を超えない.
しゅつりょく
1行目に与えられた数字を2進数出力に変換します.数がゼロでない限り、1で始まる必要があります.
例
入力
入力
に答える
バイナリを8進数に変換する問題を逆にすればいい.
8進数ごとに2進数に変換して出力すればいいです.
コード#コード#
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void ft_print_binary(int n, int cnt)
{
vector <int> binary;
vector <int> ::reverse_iterator riter;
while (1)
{
binary.push_back(n % 2);
n /= 2;
if (n == 0) break;
}
if (cnt != 0) # 첫재 자리수가 아닌경우 빈자리에 0 추가
{
while (binary.size() != 3)
binary.push_back(0);
}
for (riter = binary.rbegin(); riter != binary.rend(); riter++)
cout << *riter;
}
int main()
{
string str;
vector <int> v;
int cnt = 0;
cin >> str;
for (int i = 0; i < str.length(); i++)
v.push_back(str[i] - '0');
for (auto x : v)
{
ft_print_binary(x, cnt);
cnt++;
}
return (0);
}
Reference
この問題について(1212), 我々は、より多くの情報をここで見つけました
https://velog.io/@lsmmay322/백준-1212
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void ft_print_binary(int n, int cnt)
{
vector <int> binary;
vector <int> ::reverse_iterator riter;
while (1)
{
binary.push_back(n % 2);
n /= 2;
if (n == 0) break;
}
if (cnt != 0) # 첫재 자리수가 아닌경우 빈자리에 0 추가
{
while (binary.size() != 3)
binary.push_back(0);
}
for (riter = binary.rbegin(); riter != binary.rend(); riter++)
cout << *riter;
}
int main()
{
string str;
vector <int> v;
int cnt = 0;
cin >> str;
for (int i = 0; i < str.length(); i++)
v.push_back(str[i] - '0');
for (auto x : v)
{
ft_print_binary(x, cnt);
cnt++;
}
return (0);
}
Reference
この問題について(1212), 我々は、より多くの情報をここで見つけました https://velog.io/@lsmmay322/백준-1212テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol