首页 > 其他 > 详细

给一个非负整数,判断这个数是不是相互不同的非负整数的阶乘的和。

时间:2020-02-23 14:47:02      阅读:440      评论:0      收藏:0      [点我收藏+]

此为别的文章看到的   https://www.jianshu.com/p/ca4d745e7d57

题目:  给一个非负整数,判断这个数是不是相互不同的非负整数的阶乘的和。如6 = 3!;7 = 3! + 1!;但5 不是相互不同的非负整数的阶乘的和。

技术分享图片

 

 

int main(void)
{
	int num;
	printf("请输入一个非负整数:");
	scanf("%d", &num);
	int i = 1;
	int flag = 1;
	while (num>1)
	{
		if (((num / i)*i) == num)  //判断是否可以整除 i
			num /= i;
		else
		{
			num--;
			if (((num / i)*i) == num)
				num /= i;
			else
			{
				flag = 0;
				break;
			}
		}
		i++;
	}
	if (flag)
		printf("Yes\n");
	else
		printf("No\n");

	system("pause");
	return 0;
}

  

 

给一个非负整数,判断这个数是不是相互不同的非负整数的阶乘的和。

原文:https://www.cnblogs.com/asdfknjhu/p/12348865.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!