본문 바로가기

전체 글160

C++ 재귀함수 재귀 함수는 굉장히 어렵지만, 이해를 한다면 어떤 문제를 쉽게 해결 할 수 있는 방법을 제공한다. ------------------------------------------------------------------------------------------------ 생각해야 할 점 1 부터 10까지 자연수 중 세 개의 숫자를 활용하여 10을 만들어라 >> 쉽게 반복문으로 구할수 있다. >> 반복문 3번 사용하면 된다. 1 부터 10까지 자연수 중 n 개의 숫자를 활용하여 50을 만들어라 > n 중 반복문을 사용해서 구하기는 미친 짓이다. -------------------------------------------------------------------------------------------.. 2019. 1. 10.
C++ 재귀 함수 ( 거듭제곱 ) 재귀 함수 3가지 단계 1. 함수의 역할을 말로 정확하게 정의 한다 ex) 넣으면 뭐가 나온다 2. 기저 조건 ( Base Condition ) 에서 함수가 제대로 동작 함을 안다. ex) 0! = 1 3.함수가 ( 작은 input 에 대해서 ) 제대로 동작한다고 가정하고 함수을 완성 한다. ex) 4! = 4* 3! 가정 : 3! 가 3! 값을 반환 하기 때문에 4!를 구할 수 있다. int getPower(int n,int m){ //n^m 을 반환하는 함수 if(m ==0 ) return 1; else return getPower(n,m-1) *n; } int main(){ int n,m; cin >>n>>m; cout 2019. 1. 10.
C++ 버블정렬 버블 정렬 ex) 4 7 8 9 1 2 3 10 num =9;i : 0j : 0 1 2 3 4 5 6 7 8 --------------------i : 1 j : 0 1 2 3 4 5 6 7--------------------i : 2j : 0 1 2 3 4 5 6 버블 정렬은 값 중에서 가장 큰 값을 끝으로 모는 방식이다. ( 버블이 물방울이기 때문에 물위로 떠오른다를 생각하면 쉽다. ) j 와 i 를 설정하기 어렵지만 조금만 생각하면 쉽다. #include #include using namespace std; int main(){ int num; cin >>num; int array[100]; for(int i =0;i> array[i]; for(int i=0;i 2019. 1. 10.
C++ 기약분수 입력 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. 출력 첫째 줄에 구하고자 하는 기약분수의 분자와 분모를 뜻하는 두 개의 자연수를 공백으로 구분하여 순서대로 출력한다. 예시 2 7 3 531 35 #include #include using namespace std; int getGCD(int a,int b){ int GDC; while(1) { int r = a % b; if( r == 0) { GDC = b; break; } a = b; b = r; } return GDC;} int getLCM(int A,int B,int GDC){ int LCM; LCM = (A/GDC) * (B/GDC) * GDC; .. 2019. 1. 10.
C++ 파스칼 삼각형 입력 5 2 출력 10 52 면 5 C 2 가 된다. #include using namespace std; int pascal[30][30]; int main() { int first,second; cin >>first >>second; for(int i=0;i 2019. 1. 7.
C++ 피라미드 문제 N과 시작 숫자 S가 주어지면 숫자 피라미드를 만드는 프로그램을 작성하시오. 예를 들어, N이 5이고 S가 3 이라면, 그 숫자 피라미드는 3 456 21987 3456789 987654321 입력 입력의 첫 번째 줄에 N과 시작 숫자 S가 주어진다. ( 1≤N≤100, 1 ≤S≤ 9) 5 3 출력 첫 번째 줄부터 숫자 피라미드를 출력한다. #include using namespace std; int temp[9]; int main() { int total,startNum; int array[9]={1,2,3,4,5,6,7,8,9}; int reverse =-1; int position =0; int index =0; cin>> total >> startNum; position = startNum .. 2019. 1. 7.