Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1.  
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. import java.util.Calendar;
  8. import java.util.Scanner;
  9.  
  10. public class TinhGiaiThua1 {
  11. public static void main(String[] args) {
  12. File file = new File("KETQUA2.txt");
  13. try (FileWriter fw = new FileWriter(file, true);
  14. BufferedWriter bf = new BufferedWriter(fw);
  15. PrintWriter pw = new PrintWriter(file)) {
  16. Scanner scanner = new Scanner(System.in);
  17. System.out.println("Nhap so can tinh giai thua: ");
  18. int n = scanner.nextInt();
  19. long timeBegin = Calendar.getInstance().getTimeInMillis();
  20. String x = giaithua(n);
  21. long timeEnd = Calendar.getInstance().getTimeInMillis();
  22. pw.println("Thoi gian thuc hien : "+(timeEnd - timeBegin));
  23. pw.println("Ket qua :" + x);
  24. } catch (IOException e) {
  25. // TODO: handle exception
  26. }
  27.  
  28. }
  29.  
  30. public static String giaithua(int n) {
  31. String sb = "" ;
  32. int[] A = new int[500000];
  33. int m = 1;
  34. long r = 0;
  35. long q;
  36. A[0] = 1;
  37. for (int i = 2; i <= n; i++) {
  38. for (int j = 0; j < m; j++) {
  39. q = r;
  40. r = (A[j] * i + r) / 10;
  41. A[j] = (int) ((A[j] * i + q) % 10);
  42. }
  43. while (r > 0) {
  44. A[m] = (int) (r % 10);
  45. m++;
  46. r = r / 10;
  47. }
  48. }
  49. for (int i = m - 1; i >= 0; i--) {
  50. sb += A[i];
  51. }
  52. return sb;
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement