NYOJ 91 - 계단 의 합 (욕심)

제목 설명: 마이너스 가 아 닌 정수 n 을 드 리 겠 습 니 다. n 이 일부 수 인지 아 닌 지 판단 합 니 다.2!+3!,그렇다면 Yes 를 출력 합 니 다. 그렇지 않 으 면 No 를 출력 합 니 다.입력: 첫 번 째 줄 에 정수 0 이 있 습 니 다. 각 조 의 테스트 데 이 터 는 정수 n < 1000000 이 있 습 니 다.(여기 서 알 수 있 습 니 다. 최대 9! 이면 됩 니 다) 출력: 조건 에 맞 으 면 Yes 를 출력 합 니 다. 그렇지 않 으 면 No 를 출력 합 니 다.샘플 입력: 29 10 샘플 출력: Yes No
#include

int main()
{
	int a[10];
	int i;
	int m,t;
	int s = 1;

	a[0] = 0;
	for(i = 1; i <= 9; ++i)
	{
		s *= i;
		a[i] = s;
	}

	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&m);
		for(i = 9; i >= 1; --i)
		{
			if(m >= a[i])
				m -= a[i];
			if(!m)
				break;
		}
		if(!m)
			printf("Yes
"); else printf("No
"); } return 0; }

좋은 웹페이지 즐겨찾기