连续奇数和

//4^3 = 64 = 1 + 3 + ... + 15
//写出 111 的立方之连续奇数和表示法的起始数字。如果有多个表示方案,选择起始数字小的方案.
//S = a + ... = na + n(n-1)d/2 = n(n+a-1)注意n+a-1>=a,想要a取得最小值,则n尽可能大同时验证a为奇数

#include <stdio.h>
#define eps 1e-7
#include <math.h>
int main()
{
    int n = (int)sqrt(pow(111,3));
    for(;n>=1;n--)
    {
        if(pow(111,3)/n - (int)(pow(111,3)/n) < eps && ((int)(pow(111,3)/n)+1-n)%2)//整数及首项为奇数
        {
              printf("%d
",(int)(pow(111,3)/n) + 1 - n);
              break;
        } 
    } 
    return 0;
}
原文地址:https://www.cnblogs.com/emptyCoder/p/5509554.html