第三十九讲 项目二 求三位数以内所有n=a!+b!+c!的数

任务和代码

/*
*Copyright (c)2016,CSDN学院 |  C语言及程序设计初步
*All rights reserved.
*文件名称:p39-1.c
*作    者:管运煌
*完成日期:2016年6月13日
*求三位数以内所有n=a!+b!+c!的数,a、b、c为n的个、十、百位。
*/
#include <stdio.h>
int main()
{
	int a,b,c,n,sum;				//a,b,c,为n的个十百位上的数,n为三位数的数,sum为阶层和
   int i,j,k,l,m,g;				//l m g 为个十百位数的阶层值。
   for (n=100;n<1000;n++)		//
   {
		l=1;
		m=1;
		g=1;
		sum=0;
		for (i=1,a=n/100;i<=a;i++)	//百位数的阶层
		{
			l*=i;
		}
		for (j=1,b=(n/10)%10;j<=b;j++)//十位数的阶层
		{
			m*=j;
      }
		for (k=1,c=n%10;k<=c;k++)		//个位数的阶层
		{
			g*=k;
      }
		sum=l+m+g;
		if (sum==n)			//判断是否相等
			printf ("%d=%d!+%d!+%d!",n,a,b,c);
   }
}


运行结果


知识总结

灵活运用循环嵌套,数的分离

心得体会

还是用的正常数学解题思维来做的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值