fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3. #define MAXN 10007
  4.  
  5. int a[MAXN];
  6.  
  7. void snt(){
  8. for(int i = 0; i < MAXN ; i++){
  9. a[i] = 1;
  10. }
  11. a[1] = a[0] =0;
  12. for (int i = 2; i < sqrt(MAXN); i++){
  13. if(a[i]){
  14. for(int j = i * i; j < MAXN; j += i ){
  15. a[j] = 0;
  16. }
  17. }
  18. }
  19. }
  20.  
  21. int sumnum(long long x){
  22. int s = 0;
  23. while ( x > 0 ){
  24. s += (int) x/10;
  25. x /= 10;
  26. }
  27. return s;
  28. }
  29.  
  30. int geck(long long n){
  31. long long m = n;
  32. int sum = 0, sntlaplai = 0;
  33. for (int i = 2; i * i < n; i++){
  34. if (a[i]){
  35. while (m % i == 0){
  36. sum += sumnum(i);
  37. sntlaplai++;
  38. m /= i;
  39. }
  40. }
  41. }
  42. if (m > 0){
  43. sum += sumnum(m);
  44. sntlaplai++;
  45. }
  46. if(sntlaplai == 1) return 0;
  47. }
  48. int main(){
  49. snt();
  50. int t;
  51. scanf("%d", &t);
  52. while (t--){
  53. long long n;
  54. scanf("%lld", &n);
  55. printf("%d\n", geck(n));
  56. }
  57. return 0;
  58. }
Success #stdin #stdout 0s 5320KB
stdin
2
378
730
stdout
-858993459
-1717986917