백준 2231 c++
#include <iostream>
using namespace std;
int input(int lower, int upper);
int bruteforce_division_sum(int n);
void make_N_to_arr(int n, int* arr);
int main(void)
{
int N;
N = input(1, 1000000);
cout << bruteforce_division_sum(N) << endl;
return 0;
}
int input(int lower, int upper)
{
int A;
while (1)
{
cin >> A;
if (A >= lower && A <= upper)
{
break;
}
else
{
;
}
}
return A;
}
int bruteforce_division_sum(int n)
{
int constructor = 0;
int sum = 0, div = 1000000;;
int i, j;
int arr[7];
for (i = 1; i < n; i++)
{
sum = 0;
make_N_to_arr(i, arr);
for (j = 0; j < 7; j++)
{
sum = sum + arr[j];
}
sum = sum + i;
if (sum == n)
{
constructor = i;
break;
}
else
{
constructor = 0;
}
}
return constructor;
}
void make_N_to_arr(int n, int* arr)
{
int i, div = 1000000;;
for (i = 0; i < 7; i++)
{
arr[i] = n / div;
n = n % div;
div = div / 10;
}
return;
}