fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int isPrime(int n) {
  5. if (n == 1 || n == 2 || n == 3)
  6. return 1;
  7. if (n % 2 == 0 || n % 3 == 0)
  8. return 0;
  9. int sqrt_n = (int)sqrt((double)n);
  10. int k = -1;
  11. do {
  12. k += 6;
  13. if (n % k == 0 || n % (k + 2) == 0)
  14. break;
  15. } while (k < sqrt_n);
  16. return k > sqrt_n;
  17. }
  18.  
  19. int main() {
  20. int n,i;
  21. printf ("nhap so n: ");
  22. scanf ("%d",&n);
  23. printf ("cac thua so nto: ");
  24. for (i = 2; i <= n; i++) {
  25. while (n % i == 0) {
  26. if (isPrime(i)) {
  27. printf("\n%d", i);
  28. n /= i;
  29. }
  30. }
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0s 9424KB
stdin
25
stdout
nhap so n: cac thua so nto: 
5
5