题解 | #尼科彻斯定理# 最笨的方法 遍历求和
尼科彻斯定理
https://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
#include <iostream> using namespace std; int main() { int m; cin>>m; int big=m*m*m; pair<int,int> lag;//标记从哪个数到哪个数相加为所求。 bool label=false; for(int i=1;i<big;i=i+2){ int sum=i; for(int j=i+2;j<big;j=j+2){ sum+=j; int num=(j-i)/2+1; if(sum==big && num==m){ lag={i,j}; label=true; break; } if(sum>big){ break; } } if(label){ break; } } //输出结果 for(int i=lag.first;i<lag.second;i=i+2){ cout<<i<<'+'; } cout<<lag.second; } // 64 位输出请用 printf("%lld")