小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和。
比如:
2^3 = 8 = 3 + 5
3^3 = 27 = 7 + 9 + 11
4^3 = 64 = 1 + 3 + ... + 15 1 3 5 7 9 11 13 15 31 33
虽然他没有想出怎么证明,但他想通过计算机进行验证。
请你帮助小明写出 111 的立方之连续奇数和表示法的起始数字。如果有多个表示方案,选择起始数字小的方案。
思路:
列出111立方内的奇数,在求连续的和是否等于111的立方
#include<iostream>
#include<string.h>
using namespace std;
#define m 111*111*111
int main()
{
for(int i=1;i<=m/2+3;i+=2){
long long sum=0;
for(int j=i;j<=m/2+3;j+=2){
sum+=j;
if(sum==m){
cout<<i;
return 0;
}
if(sum>m)
break;
}
}
return 0;
}
欢迎大家加入 早起学习群,一起学习一起进步!(群号: 642179511 )