< '분류 전체보기' 카테고리의 글 목록 (5 Page)

전체글 179

[C++/백준 1212번] 8진수 2진수

문자열을 통해 출력해 주어야 한다. 수의 길이가 333334 까지 나올 수 있으므로 범위는 long long의     -2^63 (-9,223,372,036,854,775,808) 에서 2^63 - 1(9,223,372,036,854,775,807)  를 아득히 뛰어넘는다.  따라서 아래와 같이 코드를 짜면 한 변수에 굳이 값을 저장할 필요 없이 출력 가능하다.  #include #include using namespace std;int main(void) { string eight; string two[8] = { "000", "001", "010", "011", "100", "101", "110", "111" }; int temp; cin >> eight; for (int i = 0; i

[C++/백준 17087번] 숨바꼭질 6

유클리드를 O(n)만큼 시도해야 한다는 것에 주의. #include #include #include using namespace std;int Euclid(int a,int b){ if (b == 0) return a; else return Euclid(b, a % b);}int main() { ios_base::sync_with_stdio(false), cin.tie(NULL); int N, S; cin >> N >> S; vector v; if (N == 1) { int input; cin >> input; cout > input; v.push_back(abs(input - S)); } sort(v.begin(), v.end()); int tmp = v[0]; for (int i =..

[C++/백준 2004번] 조합 0의 개수

조합 공식과 정수론을 이용해 해결하는 문제. 조합 공식은 nCr n! / (n-r!) r! 이다.  그리고 10을 구성하는 소인수는 2 x 5 인데, 2와 5 소인수 중 개수가 작은 것이 0의 개수가 될 것이다.  팩토리얼의 소인수를 구하는 방법은 https://blog.naver.com/shalska1234/50087466089 계승(factorial, !)의 소인수분해!계승 [階乘, factorial] 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 말하며 n!로 나타낸다....blog.naver.com 이 블로그 게시글을 참고했다.  100! -> 100 / 2, 100 / 4, 100/ 8 , 100 / 16  , 100 / 32 , 100 / 64 의 값을 모두 더하면 2의 소인수 개수가..

[C++/백준 6588번] 골드바흐의 추측

에라토스테네스의 체를 사용하여 소수를 판별 한 뒤, 출력한다.에라토스테네스의 체란 i 의 배수들을 제거해 나가며 소수를 판별해 나가는 방법인데, 시간 복잡도가 O(N log(logN)) 이다.iostream과 stdio.h 가 동기화 되어 있을 때는 cout 을 통한 출력 속도가 느림에 주의하자.  #include #include using namespace std;int check[1000001] = { false };void Primearr(int input){ for (int i = 2; i > input; if (input == 0) break; bool can = false; for (int i = 3; i