본문 바로가기
카테고리 없음

2231: 분해합

by soeayun 2023. 7. 5.

 

#include <stdio.h>
#include <string.h>

int arr[1000001];
int main(void)
{
 int n;
  scanf("%d",&n);
  
  for(int i=1;i<n;i++)
    {
      int k=i;
      int temp=0;
      while(k!=0)
        {
          temp+=k%10;
          k/=10;
        }
      temp+=i; //i의 분해합을 구합
      if(arr[temp]==0) // 가장 작은 생성자를 구해야함
        arr[temp]=i; // temp가 배열 안으로 들어가야지 꺼꾸로 생성자를 구할 수 있음
    }
  printf("%d",arr[n]);
  
  
 
  return 0;
}