fork download
  1. import java.math.BigInteger;
  2. import java.util.Random;
  3.  
  4. class Ideone
  5. {
  6. static final BigInteger n1 = BigInteger.ONE;
  7. static final BigInteger n2 = BigInteger.valueOf(2);
  8. static final BigInteger n3 = BigInteger.valueOf(3);
  9. static final BigInteger n5 = BigInteger.valueOf(5);
  10. static final BigInteger n9 = BigInteger.valueOf(9);
  11. static final BigInteger n15 = BigInteger.valueOf(15);
  12.  
  13. static BigInteger f(String n)
  14. {
  15. return f(new BigInteger(n));
  16. }
  17.  
  18. static BigInteger f(BigInteger n)
  19. {
  20. return n(n, n3).add(n(n, n5)).subtract(n(n, n9)).subtract(n(n, n15));
  21. }
  22.  
  23. {
  24. n = n.subtract(n1).divide(m);
  25. return n.multiply(n.add(n1)).divide(n2).multiply(m);
  26. }
  27.  
  28. public static void main(String[] args)
  29. {
  30. System.out.println("N=300000: " + f("300000"));
  31. System.out.println("N=1000000: " + f("1000000"));
  32. System.out.println("N=123456789: " + f("123456789"));
  33.  
  34. BigInteger n = new BigInteger(256, new Random(1));
  35. System.out.printf("N=%d: %d%n", n, f(n));
  36.  
  37. n = new BigInteger(1024, new Random(1));
  38. System.out.printf("N=%d: %d%n", n, f(n));
  39. }
  40. }
Success #stdin #stdout 0.11s 320256KB
stdin
Standard input is empty
stdout
N=300000: 15999800001
N=1000000: 177777222224
N=123456789: 2709613975342514
N=52392500521600399351356349174446586983450782741955171098556507898779871325096: 487995397494381887662018071420232992295376910990875516472622018026693448269880988092183711767420164458421494813099739679016862860526679147801349886898903
N=81340304960658949829048605343898074748693526364984423822460961155401988944367999613016438883571687846827769443739617707055232638191283495026289615702222182788574658309391713912039023956220354657317299153420226118949128545915432383828558593920321625926429046418867140014450097694225893790336121397039424427669: 1176221370860977593190531744986295704291256213295801543678784040006597685409856947202803333926649526653122547075560291684329674825561568720488683385745421665727226144354393848352578386985565841601435810608297741134440576497835108083240987461415514155994751275953161699153692084971652019255372815271459325027866526382160915314605225868266717362558968915129287793658342305378204311843407986509458035702286777106483255898763800650633705787846467565383685679623914073728492659697202167711220793800491315181370681899041608203770743340395813544841972448482457435114182340177118957124887596242739635498233860331566147512508