欧拉项目 #6 C++
Project Euler #6 C++
前十个自然数的平方和是,
1² + 2²+ ... + 10² = 385
前十个自然数之和的平方是,
(1 + 2 + ... + 10)² = 55² = 3025
因此,前十个自然数的平方和的平方之差是3025 − 385 = 2640
。
求出前一百个自然数的平方和与总和的平方之差。
**他们说我的回答是错误的:(**
//Project eueler problem 6
#include <iostream>
#include <cmath>
using namespace std;
unsigned int sum(int);
unsigned int sqsum(int);
int main()
{
cout << sqsum(100) - pow(sum(100) , 2);
}
unsigned int sum(int n) // function for finding sum of n numbers
{
return (n*(n+1))/2;
}
unsigned int sqsum(int n) // function for finding sum of squares
{
return ((n)*(n+1)*(2*n +1 ))/6 ;
}
pow(sum(100) , 2);
使用double
并返回double
,因此,您可能会遇到舍入错误。
使用类似的东西(也固定操作数顺序):
cout << sum(100) * sum(100) - sqsum(100) << std::endl;
应该解决您的问题。
我认为这是一种更简单的方法:
#include <iostream>
using namespace std;
int main()
{
int sum_p = 0;
int sum_e = 0;
for(int i=1;i<=100;i++){
sum_p=sum_p+i*i;
sum_e=sum_e+i;
}
sum_e=sum_e*sum_e;
cout<<sum_e-sum_p;
}
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法在 CLion 中构建 C++ 项目
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 欧拉项目#8答案是大以获得有效答案
- 从链接列表c++中删除一个项目
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 既然存在危险,为什么项目要使用-I include开关
- cmake在我的项目中所需的所有静态库都不成功
- QT通过C++添加映射QML项目
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在linux上调试巨大的C++项目
- 在其他文件中创建类时在 c++ 项目中不起作用
- 使外部项目可用于find_package CMake
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 如何维护资源管理器项目视图中当前可见的项目列表
- 错误-我无法在VS2019中打开新的Qt项目
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗