Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Solution {
  5.  
  6. private static ArrayList<Integer> factorial(int maxFactor) {
  7. ArrayList<Integer> result = new ArrayList<>();
  8. result.add(1);
  9. for(int factor = 2; factor <= maxFactor; factor++) {
  10. int carry = 0;
  11. for(int i = 0; i < result.size(); i++) {
  12. result.set(i, result.get(i) * factor + carry);
  13. int digit = result.get(i);
  14. if(digit >= 10) {
  15. carry = digit / 10;
  16. digit %= 10;
  17. result.set(i, digit);
  18. } else {
  19. carry = 0;
  20. }
  21. }
  22. while(carry != 0) {
  23. result.add(carry % 10);
  24. carry /= 10;
  25. }
  26. }
  27. return result;
  28. }
  29.  
  30. public static void main(String[] args) {
  31. try (Scanner sc = new Scanner(System.in)) {
  32. int T = sc.nextInt();
  33. while(T-- > 0) {
  34. int N = sc.nextInt();
  35. int sum = 0;
  36. sum = factorial(N).stream().map((i) -> i).reduce(sum, Integer::sum);
  37. System.out.println(sum);
  38. }
  39. }
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement