Dfstime limit:5000/2000ms (java/other) Memory limit:65536/32768k (Java/other) total submission (s): Accepted Sub Mission (s): 32font:times New Roman | Verdana | Georgiafont Size:←→problem Descriptiona DFS (digital factorial sum) number is found by summing the factorial of every dig It's a positive integer.
For example, consider the positive integer 145 = 1!+4!+5!, so it ' s a DFS number.
Now you should find out all the DFS numbers in the range of int ([1, 2147483647]).
There is no input for this problem. Output all the DFS numbers in increasing order. The first 2 lines of the output is shown below. Inputno Inputoutputoutput All the DFS number in increasing order. Sample Output
12 ...
Authorzjt
#include <iostream>#include<cstdio>using namespacestd;intI,n;inta[ One];intMain () {a[0]=1; a[1]=1; for(i=2; i<=9; i++) a[i]=a[i-1]*i; N=a[9]*Ten; //printf ("%d\n", n); for(i=1; i<=n;i++) { intt=i; intsum=0; while(t>0) {sum+=a[t%Ten]; T=t/Ten; } if(sum==i) printf ("%d\n", i); } return 0;}
HDU 5323 DFS