반응형

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


반응형

'C++ Algorithm > 백준 알고리즘 문제 풀이' 카테고리의 다른 글

문자열 사용하기  (0) 2018.11.27
1차원 배열 사용하기  (0) 2018.11.27
if문 사용해보기  (0) 2018.11.14
for문 사용해보기  (0) 2018.11.07
사칙연산 도전하기  (0) 2018.11.07

+ Recent posts