Problem Statement
#include <iostream>
#include <ctime>
using namespace std;
#define sz 362880
long f[10];
long test( long n ){
long sum = 0;
while( n ){
sum += f[n % 10];
n /= 10;
}
return sum;
}
int main(){
long i,j,k,l,cnt = 0,ans = 0;
double st,en;
st = clock();
f[0] = 1;
f[1] = 1;
for( i = 2; i <= 9; i++ )
f[i] = f[i-1] * i;
for( i = 3; i <= sz; i++ ){
if( test(i) == i){
ans += i;
cnt++;
printf("%ld\n",i);
}
}
printf("%ld\n",cnt);
printf("ANS : %ld\n",ans);
en = clock();
printf("Time required : %lf\n",(en - st)/CLOCKS_PER_SEC);
return 0;
}

1 comment:
So what would be the pseudocode for this?
Post a Comment