Problem Statement
It can be seen that the number, 125874, and its double, 251748, contain exactly the same digits, but in a different order.
Find the smallest positive integer, x, such that 2x, 3x, 4x, 5x, and 6x, contain the same digits.
Solution(bruteforce)
Here is the C++ implementation of this problem.
#include <iostream>
#include <algorithm>
#include <string>
#include <cstdlib>
using namespace std;
int main(){
long i,j,k,l,n = 1;
char temp[15],tempp[15];
while( true ){
sprintf( temp,"%ld", n * 2);
sort( temp,temp + strlen(temp) );
for( i = 3; i <= 6; i++ ){
sprintf( tempp,"%ld", n * i);
sort( tempp,tempp + strlen(tempp) );
if( strcmp( temp,tempp) )
break;
}
//printf("N>%ld I>%ld\n",n,i);
if( i == 7)
break;
n++;
}
printf("%ld\n",n);
return 0;
}

No comments:
Post a Comment