Sum 함수는 n이 횟수
Pow 함수는 cnt 횟수
#include <iostream>
using namespace std;
int Sum(int* arr, int n)
{
if (n == 0)
return 0;
return *arr + Sum(arr + 1, n - 1);
}
int Pow(int val, int cnt)
{
if (cnt == 0)
return 1;
return val * Pow(val, --cnt);
}
int main()
{
int a[]{ 1,2,3,4,5 };
cout << Sum(a, 5) << endl;
cout << Pow(5, 3) << endl;
}
// 결과
15
125
문자열 순 / 역순 출력
#include <iostream>
using namespace std;
void Print(const char* ch)
{
if (*ch == '\0')
return;
cout << *ch;
Print(ch + 1);
}
void RevPrint(const char* ch)
{
if (*ch == '\0')
return;
RevPrint(ch + 1);
cout << *ch;
}
int main()
{
const char* str = "abcd";
Print(str);
cout << endl;
RevPrint(str);
}
// 결과
abcd
dcba
하나의 문자열에서 가능한 모든 조합 구하기
#include <iostream>
#include <string>
void Print(string in, string out)
{
if (in.empty())
{
cout << out << endl;
return;
}
Print(in.substr(1), out + in[0]);
Print(in.substr(1), out);
}
int main()
{
string in, out = "";
cin >> in;
Print(in, out);
}
문자열을 숫자형으로 변환
int Length(char* str)
{
if (str[0] == '\0')
return 0;
return 1 + Length(str + 1);
}
int ConvertToInt(char* str, int n)
{
if (n == 0)
return 0;
int smallAns = ConvertToInt(str, n - 1);
int lastDigit = str[n - 1] - '0';
int ans = smallAns * 10 + lastDigit;
return ans;
}
int main()
{
char str[100];
cin >> str;
cout << ConvertToInt(str, Length(str));
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
C++ 빌드 진행 과정 (0) | 2023.11.10 |
---|---|
[C++] 두 배열을 비교할 수 있는 함수 equal (0) | 2023.11.06 |
[C++] tuple (튜플) 사용법 & 예제 (0) | 2023.10.23 |
[C++] 문자열 입력 istream::getline()과 string의 getline() (0) | 2023.10.20 |
[C++] 문자열 찾기: string.find() (0) | 2023.10.19 |