somesum.nim 413 B

1234567891011121314151617181920212223242526272829
  1. # nim c -r somesum.nim
  2. import math
  3. proc some_sum(n: int, m: int): int =
  4. var s: int = 0
  5. for k in countup(0,n):
  6. s += k^m
  7. return s
  8. var n: int = 6000
  9. var m: int = 3
  10. let s_1 = n*(n+1)/2
  11. let s_2 = n*(n+1)*(2*n+1)/6
  12. let s_3 = (n*(n+1))^2/4
  13. if m == 1:
  14. echo s_1
  15. elif m == 2:
  16. echo s_2
  17. elif m == 3:
  18. echo s_3
  19. else:
  20. echo some_sum(n, m)
  21. echo some_sum(60_000, 3) # 3240108000900000000