3682 - 神秘的三位数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
编程求出这样的3位数。

题目输入

题目输出

输入/输出样例

输入格式


                        

输出格式


                        

C++解答

#include<iostream>
using namespace std;
int f(int n)
{
	int ans=1;
	for(int i=1;i<=n;i++)
		ans*=i;
	return ans;
}
int main()
{
	int i,sum,x;
	for(i=100;i<=999;i++)
	{
		sum=0;
		x=i;
		while(x)
		{
			sum+=f(x%10);
			x/=10;
		}
		if(sum==i)
			cout<<i;
	}
	return 0;
}

Java解答


public class Main {
	
	public static void main(String[] args) {
		for(int i=100;i<=999;i++) {
			int a=i/100;
			int b=i/10%10;
			int c=i%10;
			if(i==he(a)+he(b)+he(c)) {
				System.out.print(i+" ");
			}
		}
	}
	public static int he(int n) {
		if(n==0) {
			return 1;
		}else {
			return n*he(n-1);
		}
	}
}