초기 네이버 기록/알고리즘(C)

백준 4673번 셀프넘버 문제(C언어)

뜨거운 개발자 2023. 1. 3. 23:49
#include<stdio.h>
int main()
{
	int num = 97;
	int result;
	printf("1\n3\n5\n7\n9\n20\n31\n42\n53\n64\n75\n86\n97\n");
	result = num;
	while (num < 10000)
	{
		while (num >10)
		{
			result += num % 10;
			num = num / 10;
		}
		result += num;
		num = result;

		printf("%d\n", result);
	}
	
}

처음에 문제 이해를 잘 못해서 어떤 숫자의 셀프넘버를 계속 올라가면서 구하는 함수를 만들었다...

문제 이해가 어렵군..

#include<stdio.h>

int check_selfnum(int a)
{
	int result;
	int tmp = a;
	int i = 1;
	while (i <=a)
	{
		tmp = i;
		result = i;
		while (tmp >= 10)
		{
			result += tmp % 10;
			tmp = tmp / 10;
		}
		result += tmp;
		if (result == a)
			return (0);
		i++;
	}
	return (1);
}
int main()
{
	int i = 19;
	printf("1\n3\n5\n7\n9\n");
	
	while (i <= 10000)
	{
		if (check_selfnum(i))
			printf("%d\n", i);
		i++;
	}
}

이문제는 풀면서 재미있었다ㅎㅎㅎㅎ

이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 2022. 3. 2. 12:01에 작성된 글을 옮긴 글입니다.

728x90