```{.cpp}
// C++ 0을 제외한 나머지 수의 합을 등차수열의 합과 비교하였습니다.
bool CheckNum( char* pcBuff, int nMax = 9 )
{
int nSum = 0;
int nZero = 0;
char nNum = 0;
nMax = ( nMax * ( nMax + 1 ) ) / 2;
for( size_t x = 0 ; x < strlen( pcBuff ) ; ++x )
{
if( pcBuff[ x ] == '0' )
{
nZero += 1;
if( nZero > 1 )
{
return false;
}
}
else
{
nNum = pcBuff[ x ];
nSum += atoi( &nNum );
if( nSum > nMax )
{
return false;
}
}
}
if( nSum != ( nMax * ( nMax + 1 ) / 2 ) )
{
return false;
}
return true;
}
int main()
{
char acBuff[ 1000 ] = { 0, };
cin >> acBuff;
cout << CheckNum( acBuff );
return 0;
}
```
```{.cpp}
// C++ 0을 제외한 나머지 수의 합을 등차수열의 합과 비교하였습니다.
bool CheckNum( char* pcBuff, int nMax = 9 )
{
int nSum = 0;
int nZero = 0;
char nNum = 0;
nMax = ( nMax * ( nMax + 1 ) ) / 2;
for( size_t x = 0 ; x < strlen( pcBuff ) ; ++x )
{
if( pcBuff[ x ] == '0' )
{
nZero += 1;
if( nZero > 1 )
{
return false;
}
}
else
{
nNum = pcBuff[ x ];
nSum += atoi( &nNum );
if( nSum > nMax )
{
return false;
}
}
}
if( nSum != ( nMax * ( nMax + 1 ) / 2 ) )
{
return false;
}
return true;
}
int main()
{
char acBuff[ 1000 ] = { 0, };
cin >> acBuff;
cout << CheckNum( acBuff );
return 0;
}
```