java - 平方和差 - 我的方法有什么问题?

标签 java math sum

我发现大多数人只是循环添加数字及其平方。我尝试了一种不同的方法。利用我所知的一点数学知识,我意识到我有一个非常有效的解决方案:

public static long sumOfNSquares(int N){
   // This is the standard mathematical formula I learnt in grade 10
    return (long) (N*(N+1)*(2*N+1))/6;
}
public static long squareofSum(int N){
   // Another standard mathematical formula. I took a square of it
    return (long) Math.pow( (N * N+1) /2, 2);
}

public static void main(String [] args){
    System.out.println(Math.abs(sumOfNSquares(100) - squareofSum(100)));
}

这使用标准的“N 个自然数之和”和“N 个数字的平方和”公式。我仍然得到错误的答案。可能出了什么问题?

附:已解决

最佳答案

使用这个Math.pow( (N * (N+1))/2, 2)

N+1周围使用大括号

关于java - 平方和差 - 我的方法有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487616/

相关文章:

mysql - 使用连接时如何区分 sum()

python - 如何在 python 中求和

JAVA:对象数组仅打印最后一个元素

java - 何时子类化 AbstractBorder 以及何时实现 Border 接口(interface)?

c - 有谁知道对位取模的更好方法?

math - 累积同质变换 : rotations work, 但翻译却没有?

java - 动态生成 XML Schema

java - JMS 2.0 规范 - JMS 提供者如何检测 JMS 客户端对 Message 对象的更改?

shell - shell 中的 let vs expr vs 双括号算术

mysql - 使用 MYSql 计算总和和平均百分比