3682 - 神秘的三位数
时间限制 : 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); } } }