C++ Algorithm/백준 알고리즘 문제 풀이
함수 사용하기
3영2
2018. 11. 18. 17:25
반응형
4673번 문제 : 셀프 넘버
https://www.acmicpc.net/problem/4673
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <iostream> using namespace std; bool numArr[10001]; void SelfNumberCheck(int num) { int sum = num; int temp = num; while (temp > 0) { sum += temp % 10; temp /= 10; } if (sum > 10000 || numArr[sum] == false) return; numArr[sum] = false; SelfNumberCheck(sum); } int main() { for (int i = 1; i <= 10000; i++) //initialize { numArr[i] = true; } for (int i = 1; i <= 10000; i++) { SelfNumberCheck(i); } for (int i = 1; i <= 10000; i++) { if (numArr[i] == true) cout << i << endl; } return 0; } | cs |
1065번 문제 : 한수
https://www.acmicpc.net/problem/1065
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <iostream> #include <vector> using namespace std; bool CheckIfHansoo(int n) { if (n < 100) { return true; } vector<int> v; while (n > 0) { int num = n % 10; v.push_back(num); n /= 10; } int diff = v.at(0) - v.at(1); for (int i = 0; i < v.size() - 1; i++) { int temp = v.at(i) - v.at(i + 1); if (diff != temp) return false; } return true; } int main() { int inp; cin >> inp; int num = 0; for (int i = 1; i <= inp; i++) { if (CheckIfHansoo(i)) num++; } cout << num; return 0; } | cs |
반응형