플라즈밍
플라즈마 IT
플라즈밍
  • All (163)
    • MindSet (2)
    • Wisdom (8)
    • Book (18)
    • [Web] (6)
      • [Web]Guide (2)
      • [Web]HTML-CSS-JS (1)
      • [Web]ReactJS (0)
      • [Web]NextJS (1)
    • 퀀트주식투자 (4)
      • [리포트]포트폴리오 (4)
    • 자산배분전략 (2)
      • [리포트]자산배분전략 (1)
    • 포트폴리오 (0)
      • 발걸음 (0)
    • 개발 Note (3)
    • TipNote (5)
    • 알고리즘 (27)
      • 백준[BOJ] 오답노트 (27)
      • 백준[BOJ] 강의 정리 노트 (0)
    • etc-posts (18)
      • Unity :: C# 튜토리얼 (18)
    • Web&Know (23)
    • 끄적임 (4)
    • 세상이슈 (0)
    • Youtube 유튜브 (3)
      • Youtube 채널소개 (3)
    • 창업 Know&Idea (1)
    • Web&Dev (4)
    • 프로젝트 (6)
      • Unity5 Project (3)
      • UnrealEngine4 Project (2)
      • Web Page (1)
    • 주가차트-기술적분석 (2)
    • BlockChain (7)
    • SystemDesign (11)

인기 글

최근 글

hELLO · Designed By 정상우.
플라즈밍

플라즈마 IT

알고리즘/백준[BOJ] 오답노트

C++ int 오버플로어 예측 - 백준 알고리즘 오답노트 2004

2019. 5. 6. 20:00
반응형

https://www.acmicpc.net/problem/2004

 

2004번: 조합 0의 개수

첫째 줄에 정수 n, m(0≤m≤n≤2,000,000,000, n!=0)이 들어온다.

www.acmicpc.net

#. C++ int 오버플로어 예측 

 

 

여기서 n은 20억 이하다.
n이 거의 int 범위를 벗어날 것 같은느낌이 든다.
아니나 다를까
for문에서 int i가 5의 배수씩 커지면서 n까지 도는데
만약 i가 20억까지 왔는데, n이 딱 20억이야
그러면 i는 5을 곱해서 100억이 되면서 오버플로가 되버린다.~

 

 

//2004

#include<iostream>
using namespace std;

int main(){
	long long n,m; cin>>n>>m;
	
	long long countoftwo = 0;
	long long countoffive = 0;
		
	for(long long i = 2; i<= n; i*=2){
		countoftwo += n/i;
	}
	for(long long i = 2; i<= m ;i*=2){
		countoftwo -= m/i;
	}
	for(long long i = 2; i<= n-m; i*=2){
		countoftwo -= (n-m)/i;
	}
	
	for(long long i = 5; i<= n; i*=5){
		countoffive += n/i;	
	}
	for(long long i = 5; i<= m; i*=5){
		countoffive -= m/i;
	}
	for(long long i = 5; i<= n-m; i*=5){
		countoffive -= (n-m)/i;
	}
	cout<<min(countoftwo,countoffive)<<"\n";
	
	return 0;
// }
//FB1.
/*
여기서 n은 20억 이하다.
n이 거의 int 범위를 벗어날 것 같은느낌이 든다.
아니나 다를까
for문에서 int i가 5의 배수씩 커지면서 n까지 도는데
만약 i가 20억까지 왔는데, n이 딱 20억이야
그러면 i는 5을 곱해서 100억이 되면서 오버플로가 되버린다.~

*/

 

 

 

 

플라즈마 IT 블로그 - 코딩 공부 정리, IT 정보 공유

 

https://plasmacodeing.tistory.com/

 

조금이라도 도움이 되었다면 공감 및 댓글 주세요~~

 

 

 

반응형
저작자표시 (새창열림)

'알고리즘 > 백준[BOJ] 오답노트' 카테고리의 다른 글

배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260  (0) 2019.05.06
C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110  (0) 2019.05.06
알고리즘 문제풀이전에 할것. 자료구조 선택하기 - 백준 알고리즘 오답노트 1012  (0) 2019.05.06
별 찍기 5 - 백준 알고리즘 오답노트 2442  (0) 2019.05.06
그래프 탐색시 가로,세로 실수 - 백준 알고리즘 오답노트 1012  (0) 2019.04.13
    '알고리즘/백준[BOJ] 오답노트' 카테고리의 다른 글
    • 배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260
    • C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110
    • 알고리즘 문제풀이전에 할것. 자료구조 선택하기 - 백준 알고리즘 오답노트 1012
    • 별 찍기 5 - 백준 알고리즘 오답노트 2442
    플라즈밍
    플라즈밍
    퀀트 주식투자 자산배분 데이터분석 정보 공유 프로그래밍,투자 주제의 책 강의 리뷰 노하우 전수

    티스토리툴바