728x90
300x250

[프로그래밍 퀴즈(Quiz)] 범용적인 문제 - 재귀 호출(General Problem-Recursive Calls)


1부터 n까지의 합을 구하는 프로그램을 작성한다.

과 같이 표현되는 것은 순차적인 방법으로 표현되어서 for, while과 같은 반복문을 사용해서 구현할 수 있을 것이다.

두 번째, sum(n)을 다른 방법으로 즉, 재귀적인 방법으로 표현하면 다음과 같다.


            

            


컴퓨터 프로그래밍 코드를 통해서 알아보도록 하자.


#include <iostream>

using namespace std;

int sum(int n);
int main(){

    cout << sum(10) << endl;
}

int sum(int n){

    if ( n == 1 ){
        return 1;
    }
    else{
        return sum(n-1) + n;
    }
}



반응형
728x90
300x250
[프로그래밍 퀴즈(Quiz)] 프로그래밍 기초 퀴즈(C++)


초급적인 문제입니다.



(입력1)


입력

출력

12345

5,4,3,2,1



(소스코드)


#include <iostream>
#include <string>
#include <vector>
#include <math.h>

using namespace std;

vector<int> solution(long long n) {
    vector<int> answer;
    string strNumber;

    long long conversionNumber;
    int div = 10;
    int size = 0;
    int tmp = n;

    while (tmp > 0) {

        tmp = tmp / 10;
        size++;
    }

    strNumber = to_string(n);

    while (size > 0) {

        conversionNumber = std::stoll(strNumber.substr((size - 1), 1));
        //cout << strNumber.substr( (size - 1), 1) << endl;
        answer.push_back(conversionNumber);
        size--;
    }

    return answer;
}

int main() {

    solution(12345);

}


반응형

+ Recent posts