Guest User

Untitled

a guest
Jul 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<math.h>
  3. #define ERROR 0.00000001
  4.  
  5.  
  6. int main()
  7. {
  8. int prime[100005] = { 1, 1, 0 };
  9. int i, j;
  10. for( i = 2 ; i <= 100000 ; i++ )
  11. if( !prime[i] )
  12. for( j = i+i ; j <= 100000 ; j+=i )
  13. prime[j] = 1;
  14.  
  15. int testcase;
  16. while( scanf( "%d", &testcase ) != EOF )
  17. {
  18. for( i = 1 ; i <= testcase ; i++ )
  19. {
  20. int n;
  21. scanf( "%d", &n );
  22.  
  23. for( j = n+1 ; ; j++ )
  24. {
  25. int sum_left = 0, sum_right = 0;
  26. int temp = j;
  27. int sqrt_temp = (int)( sqrt((double)temp) + ERROR );
  28. int k;
  29. while( temp )
  30. {
  31. sum_left += temp % 10;
  32. temp /= 10;
  33. }
  34.  
  35. temp = j;
  36. for( k = 2 ; k <= sqrt_temp ; k++ )
  37. {
  38.  
  39. if( !prime[k] )
  40. {
  41. while( !( temp % k ) )
  42. {
  43. temp /= k;
  44. int k_temp = k;
  45. while( k_temp )
  46. {
  47. sum_right += k_temp % 10;
  48. k_temp /= 10;
  49. }
  50. }
  51. }
  52. }
  53. if( temp > 1 )
  54. {
  55. if( temp == j )
  56. continue;
  57. while( temp )
  58. {
  59. sum_right += temp % 10;
  60. temp /= 10;
  61. }
  62. }
  63. if( sum_left == sum_right )
  64. {
  65. printf( "%d\n", j );
  66. break;
  67. }
  68. }
  69. }
  70. }
  71.  
  72. return 0;
  73. }
Add Comment
Please, Sign In to add comment