#include <iostream>
using namespace std;
int main() {
int n, k;
cin >> n;
cin >> k;
int min = k, max = k;
cout << max - min << endl;
for (int i = 1; i < n; i++) {
cin >> k;
if (k > max) max = k;
if (k < min) min = k;
cout << max - min << endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int N;
cin >> N;
int v = 1;
while (v * 2 <= N)
v *= 2;
while (v > 0)
{
if (N >= v)
{
N -= v;
cout << 1;
}
else
cout << 0;
v /= 2;
}
return 0;
}
이 프로그램은 사용자로부터 정수 N을 이진수로 변환하여 출력합니다.
변수 v를 1로 초기화합니다. while문을 사용하여 v가 N보다 작거나 같을 때까지 v를 2배로 증가시킵니다. 이 과정에서 v는 N보다 작거나 같은 2의 거듭제곱 중 가장 큰 값을 갖습니다.
while문을 사용하여 v가 0보다 클 때까지 다음을 반복합니다.
만약 N보다 크거나 같으면, N에서 v를 뺀 후 1을 출력합니다. 그렇지 않으면 0을 출력합니다. v를 2로 나눕니다. 이 과정을 통해 이진수의 각 자릿수를 차례로 출력합니다.
'IT 프로그래밍 > 객체지향프로그래밍' 카테고리의 다른 글
객체지향 프로그래밍 13번 , 14번, 15번 (0) | 2024.04.20 |
---|---|
[C++] 12번 (0) | 2024.04.17 |
[C++] Finding the Smallest Positive Integer (0) | 2024.04.17 |
[C++] 세 정수 오름차순 정렬 (0) | 2024.04.17 |
[c++] 하나의 정수 n을 받은 후 합을 구하는 프로그램 (0) | 2024.04.17 |