fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static String pascalString(int n)
  11. {
  12. int[] num2s = new int[n+2];
  13. //calculate number of 2 factors in 1...n
  14. num2s[0] = num2s[1] = 0;
  15. for (int i=2; i<=n; ++i) {
  16. if ((i&1) == 0) {
  17. num2s[i] = num2s[i/2]+1;
  18. } else {
  19. num2s[i] = 0;
  20. }
  21. }
  22. //convert to number of 2 factors in 1! ... n!
  23. for(int i=2; i<=n; ++i) {
  24. num2s[i] += num2s[i-1];
  25. }
  26. //Calculate C(n,i)%2 for all i
  27. StringBuilder sb = new StringBuilder();
  28. for (int i=0; i<=n; ++i) {
  29. if (i > 0 && i < n && num2s[n] > num2s[i] + num2s[n-i]) {
  30. sb.append('0');
  31. } else {
  32. sb.append('1');
  33. }
  34. }
  35. return sb.toString();
  36. }
  37. public static void main(String[] args) {
  38. for (int i=0; i<20; ++i) {
  39. System.out.println(pascalString(i));
  40. }
  41. }
  42. }
  43.  
Success #stdin #stdout 0.06s 32576KB
stdin
Standard input is empty
stdout
1
11
101
1111
10001
110011
1010101
11111111
100000001
1100000011
10100000101
111100001111
1000100010001
11001100110011
101010101010101
1111111111111111
10000000000000001
110000000000000011
1010000000000000101
11110000000000001111