문제링크 : https://www.acmicpc.net/problem/2089#include using namespace std;typedef long long ll;int N;int main() { cin >> N; if(N==0) { cout v; while(N!=0) { if(N%-2==0) { N/=-2; v.push_back(0); } else { N = (N-1)/-2; v.push_back(1); } } reverse(v.begin(), v.end()); for(auto i : v) c..
문제링크 : https://www.acmicpc.net/problem/1052#include using namespace std;typedef long long ll;int N, K;int main() { int N, K; cin >> N >> K; int add = 0; while (__builtin_popcount(N) > K) { N++; add++; } cout 먼저 1~10까지 직접 그려보며 규칙을 찾아보았다.21 1 -> 2 (10)31 1 1 -> 2, 1 (11)41 1 1 1 -> 2, 2 -> 4 (100)51 1 1 1 1 -> 2, 2, 1 -> 4, 1 (101)61 1 1 1 1 1 -> 2, 2, 2 -> 4, 2 (1..
문제링크 : https://www.acmicpc.net/problem/11576#include using namespace std;typedef long long ll;int A, B, m;int arr[26];int main(void){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> A >> B >> m; for(int i=0; i> arr[i]; int idx = 0, tmp = 0; for(int i=m-1; i>=0; i--) { tmp += arr[idx]*pow(A, i); idx++; } vectorv; while(tmp >= B) { v.push_..